2016-03-02 2 views
1

У меня есть страница на example.com/news.php. Эта страница уже проиндексирована Google. Я хотел бы прорвать эту страницу и вместо этого использовать example.com/news.Перенаправление страницы в другую при отчетности 301

По существу мне нужно сообщить 301 на news.php, а также перенаправить любой запрос в/news на news.php.

Когда я использую ниже в .htaccess я получаю петлю перенаправлять:

Redirect  301 /news.php http://example.com/news 
RewriteRule  ^news$ news.php [L] 

Как бы я идти о выполнении желаемого?

ответ

1

Try:

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] 
+0

Великого. Работает как шарм! И если теперь я хочу расширить его на любую * .php страницу, как мне это сделать? – user3791176

+0

@ User3791176 см. Edit – starkeen

+0

starkeen, спасибо огромное! Он работает хорошо, за исключением того, что вызовы AJAX, похоже, не передают параметры сообщения. Любая идея почему? – user3791176