PHP / .htaccess - 访问扩展名为.php的页面时重定向访问者

时间:2013-09-14 02:05:22

标签: php .htaccess mod-rewrite

我希望访问者在访问扩展名为.php的网页时重定向。为了使它更清晰:

我目前已将.htaccess设置为从URL中删除.php扩展名,其中访问者在www.mysite.com/about/中输入类型时会加载www.mysite.com/about.php内容。我基本上希望相反的事情发生在相反的情况下:

当访问者将www.mysite.com/about.php输入地址栏时,我想加载相同的内容,但是将URL重定向/更改为www.mysite.com/about/并显示在地址栏中。

先谢谢了! 保罗G.

2 个答案:

答案 0 :(得分:1)

您可以使用此代码:

# 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]

答案 1 :(得分:0)

嗨,这似乎对我有用:

RewriteEngine on
RewriteRule ^(.*)\.php$ $1 [R]

基本上,这会从您的网址中丢弃.php并保留其他所有内容。