我希望我的访问者在访问具有扩展名.php页面时被重定向。为了更清楚一点:
我目前已将.htaccess设置为从URL中删除.php扩展名,当访问者输入 www.mysite.com/about/时,它会加载 www.mysite.com/about.php 内容。我基本上希望同样的事情反向发生,例如:
当访问者在地址栏中输入 www.mysite.com/about.php 时,我想加载相同的内容,但重定向/更改URL以 www.mysite.com/about/并出现在地址栏中。
提前感谢!保罗·
您可以使用以下代码:
# To externally redirect /index.php to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}sindex(.php)?[s?] [NC]
RewriteRule ^ / [R=301,L]
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s([^.]+).php[s?] [NC]
RewriteRule ^ %1 [R=301,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]
嗨,
这似乎对我有用:
RewriteEngine on
RewriteRule ^(.*).php$ $1 [R]
从本质上讲,这会从您的 url 中丢弃.php并保留其他所有内容。