繁体   English   中英

Symfony 2:Web服务器不会重写URL

[英]Symfony 2: The Web server doesn't rewrite the URL

当我这次将我的Web应用程序(Symfony2)投入生产时,服务器不重写(通常是重写)URL,我也不知道为什么。 我通常在根目录和Web文件夹中使用.htaccess文件。

.htaccess根目录:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/$1 [QSA,L]

/ web中的.htaccess:

RewriteCond%{REQUEST_FILENAME}上的RewriteEngine!-f RewriteRule ^(。*)$ web / $ 1 [QSA,L]

服务器生成以下错误:

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。

请通过webmaster@subdomaine_goes_here.domaine_goes_here.com与服务器管理员联系,以告知他们该错误发生的时间以及在该错误发生之前您执行的操作。

服务器错误日志中可能会提供有关此错误的更多信息。

此外,尝试使用ErrorDocument处理请求时遇到500内部服务器错误错误。

您在根目录中不需要.htaccess,在您的Web目录中需要.htaccess,并且应该将域设置为指向该Web目录。 当然可以对其进行自定义,但这是最好的解决方案(无法从浏览器访问php文件)。 .htaccess应该指向生产中的web / app.php

整个服务器配置部分可以在以下位置找到: http : //symfony.com/doc/current/cookbook/configuration/web_server_configuration.html

通过在项目文件夹中放置两个.htaccess文件成功解决了该问题(记住:我正在使用子域):

在根目录/中:RewriteEngine在RewriteCond%{REQUEST_FILENAME}上!-f RewriteRule ^(。*)$ web / $ 1 [QSA,L]

在/ web文件夹中:我保留原始的.htaccess文件与symfony 2.7一起提供

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM