簡體   English   中英

Symfony2-重寫URL以使用現有的.htacess文件添加www前綴

[英]Symfony2 - Rewrite url to add www prefixwith existing .htacess file

Symfony2核心配置隨附以下.htacess文件:

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

我了解這將從瀏覽器的網址中刪除app.php。 我想添加以下重寫規則以添加www。 每當用戶輸入不帶www的域名時,都訪問我的網站。

    RewriteCond %{HTTP_HOST} ^valutao\.com$ [NC]
    RewriteRule ^(.*)$ http://www.valutao.com/$1 [L,R=301]

所以現在我有了以下.htacess文件:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
    RewriteCond %{HTTP_HOST} ^valutao\.com$ [NC]
    RewriteRule ^(.*)$ http://www.valutao.com/$1 [L,R=301]
</IfModule>

我的問題是app.php將再次出現。 看來我的規則只是隱藏了基本配置。 這是當我輸入valutao.com時URL中顯示的示例: http ://www.valutao.com/app.php

有人知道如何解決該問題。 不幸的是,我對重寫規則只有基本的了解。

感謝幫助

您只需要更改順序(應先重寫www重寫)。

我還要減少對域名的依賴:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM