【发布时间】:2011-05-07 22:13:01
【问题描述】:
我有以下问题:
我想将非规范的 url 重定向到规范的 URL,但要保持友好的 url 重写。
在我的 .htaccess 中,我有以下内容:
RewriteEngine On
#Protect some directories
RewriteRule ^(system|modules|application) - [F,L]
#Force Using Canonical Name
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule .* http://www.example.com/$0 [R=301]
#Friendly url rewriting
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?route=$0 [QSA,L]
我对这个地址没有任何问题:
http://www.example.com/articles/10/this-is-a-sample-post.html
但是当我尝试访问没有“www”的相同网址时。部分, 它被重定向到:
http://www.example.com/index.php?route=articles/10/this-is-a-sample-post.html
换句话说,
http://example.com/articles/10/this-is-a-sample-post.html
必须重定向到
http://www.example.com/articles/10/this-is-a-sample-post.html
有人知道问题出在哪里吗?谢谢
【问题讨论】:
标签: mod-rewrite redirect apache2