更改Apache配置文件后的Symfony路由问题

问题描述 投票:2回答:1

我的交响乐项目有问题,让我逐步解释我所做的更改。

  1. 我以前的工作项目:

我的旧项目的网址看起来像http://127.0.0.1/my_project/something

httpd.conf文件

Alias /my_project/something/auth /opt/www/my_project/auth
<Directory /opt/www/my_project/auth>
    AllowOverride None
    Require all Granted
</Directory>

Alias /my_project/something /opt/www/my_project/web
<Directory /opt/www/my_project/web>
    AllowOverride None
    Require all Granted

    RewriteEngine On
    RewriteBase /my_project/something

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)\.(\d+)\.(bmp|css|cur|gif|ico|jpe?g|m?js|png|svgz?|webp|webmanifest|pdf)$ $1.$3 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [PT]
</Directory>

而且我的路线文件看起来像

routes.yml文件

# routes.yml

get_data:
    path:     /api/select2/get-data
    methods:  [GET]
    defaults:
        _controller: 'my_folder\Controllers\IndexController::apiGetData'

该项目在上述配置下工作正常。

  1. 我的新项目在我进行更改后停止工作:

现在我想更改URL,例如http://127.0.0.1/my_project/something/MY-SLUG/

为此,我更改了httpd.conf文件,例如

httpd.conf] >>

Alias /my_project/something/auth /opt/www/my_project/auth
<Directory /opt/www/my_project/auth>
    AllowOverride None
    Require all granted
</Directory>

Alias /my_project/something /opt/www/my_project/web
<Directory /opt/www/my_project/web>
    AllowOverride None
    Require all granted
    DirectorySlash Off

    RewriteEngine On
    RewriteBase /my_project/something/
    RewriteOptions AllowNoSlash

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^[^.]+[^\/]$ $0\/ [R]

    RewriteCond %{QUERY_STRING} !slug=
    RewriteRule ^([a-zA-Z0-9\-]+)/(.*)$ $2?slug=$1 [L,QSA]
    RewriteRule ^([a-zA-Z0-9\-]+)$ ?slug=$1 [L,QSA]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)\.(\d+)\.(bmp|css|cur|gif|ico|jpe?g|m?js|png|svgz?|webp|webmanifest|pdf)$ $1.$3 [L]
</Directory>

我没有更改route.yml

文件,

我想在会话中设置MY-SLUG,然后在项目中的任何地方使用它,但是更改此设置后,我将无法访问我的Symfony项目的任何路径。我不希望我的httpd.conf文件中的更改影响我的项目,我只希望URL中的MY-SLUG。

有什么解决方法吗?

我的交响乐项目有问题,请让我逐步说明自己所做的更改。我的旧项目:我的旧项目的URL看起来像http://127.0.0.1/my_project/something httpd.conf ...

php apache symfony routes httpd.conf
1个回答
0
投票

我认为您不见了

© www.soinside.com 2019 - 2024. All rights reserved.