首页 文章

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

提问于
浏览
0

当我将我的网络应用程序(Symfony2)投入 生产环境 时,服务器不会重写(通常会)URL,我不知道为什么 . 我通常使用根目录和web文件夹中的.htaccess文件 .

root中的.htaccess:

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

.htaccess in / web:

RewriteEngine On RewriteCond%!-f RewriteRule ^( . *)$ web / $ 1 [QSA,L]

服务器生成以下错误:

内部服务器错误

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

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

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

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

2 回答

  • 1

    你不需要root中的.htaccess,你的web目录中需要.htaccess,并且域应该设置为指向web目录 . 当然它可以定制,但它是最好的解决方案(浏览器无法访问php文件) . .htaccess应该将web / app.php指向 生产环境

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

  • 0

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

    in root /:RewriteEngine On RewriteCond%!-f RewriteRule ^( . *)$ web / $ 1 [QSA,L]

    在/ web文件夹中:我保留原始的.htaccess文件附带symfony 2.7

相关问题