0

我希望我的访问者在访问具有 .php 扩展名的页面时被重定向。为了更清楚一点:

我目前已将 .htaccess 设置为从 URL 中删除 .php 扩展名,当访问者键入 www.mysite.com/about/ 时,它会加载 www.mysite.com/about.php 内容。我基本上希望同样的事情反过来发生,比如:

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

先谢谢了!保罗·G。

4

2 回答 2

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]
于 2013-09-14T04:28:36.693 回答
0

嗨,这似乎对我有用:

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

从本质上讲,这会从您的 url 中丢弃 .php 并保留其他所有内容。

于 2013-09-14T02:35:52.730 回答