报告301时将页面重定向到另一个页面

时间:2016-03-02 11:33:57

标签: linux .htaccess

我在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]

我如何去做所需的事?

1 个答案:

答案 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]