【发布时间】:2011-08-25 04:16:07
【问题描述】:
我有以下 htaccess 文件,它隐藏了 php 扩展名并强制所有 URL 使用 www:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
</IfModule>
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
第一部分归功于this answer,第二部分归功于this answer。
这在大多数情况下都很完美,但是有一个问题。当用户尝试访问http://example.com/foo(或者不是“foo”,其他任何页面)时,它会重定向到http://www.example.com/foo.php。
我怎样才能让它重定向到http://www.example.com/foo,也就是说,没有.php?
【问题讨论】:
标签: apache .htaccess url redirect