[英]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.