我知道这已被覆盖,但我找不到问题的答案。
多年来我一直有这个页面:www.mysite.com/page.php但决定把它变成一个很好的网址:www.mysite.com/page /
我做过:
RewriteRule ^page/?$ page.php [L]
一切都很好,但是现在我也希望它反过来,所以如果有人在page.php中输入,它会显示/ page /,但我只是得到一个循环:
RewriteCond %{REQUEST_URI} !^/page/
RewriteRule ^page.php$ /page/ [R=301,L]
我不明白为什么。 [L]似乎不起作用,但是[end]标志我得到500.
答案 0 :(得分:0)
这不是正确的做法。您可以使用:
RewriteEngine On
RewriteBase /
# external redirect from /page.php to /page
RewriteCond %{THE_REQUEST} \s/+(page)\.php[?\s] [NC]
RewriteRule ^ %1 [R=302,L]
# internal forward from /page to /page.php
RewriteRule ^(page)/?$ $1.php [L,NC]