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时在网址中显示内容的示例:http://www.valutao.com/app.php
有人知道如何解决这个问题。不幸的是,我只掌握了重写规则的基本知识。
感谢您的帮助
答案 0 :(得分:5)
您只需更改订单(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>