我在example.com/news.php上有一个页面。此页面已被Google编入索引。我想放弃这个页面,而是使用example.com/news。
基本上我需要在news.php上报告301,并将任何请求重定向到/ news到news.php。
当我在.htaccess中使用以下内容时,我得到一个重定向循环:
Redirect 301 /news.php http://example.com/news
RewriteRule ^news$ news.php [L]
我如何去做所需的事?
答案 0 :(得分:1)
尝试:
RewriteEngine on
RewriteCond %{THE_REQUEST} /news\.php [NC]
RewriteRule ^ /news [L,R=301]
RewriteRule ^news/?$ news.php [L]
根据您的评论进行修改:
要重定向任何php文件,您可以使用:
RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/?$ $1.php [L]