2012-06-26 2 views
1

Я хотел бы создать 301 из страницы на ту же страницу, за исключением того, что целевая страница имеет параметр в URL-адресе. Браузеры показывают мне ошибку (слишком много переадресаций), поэтому кажется, что существует бесконечный цикл. Это мой код:.htaccess - 301 перенаправить, если нет строки запроса

RewriteEngine on 
Redirect 301 /index.php http://www.monsite.com/index.php?step=1 

благодаря мне советы для этого: D

+0

Пожалуйста, попытайтесь принимать ответы на некоторые из ваших старых вопросов ... ваш принимать рейтинг 20%, и что препятствует другим помочь вам. – DeaconDesperado

ответ

7

Вы должны conditionalize редирект и сделать это в PHP, чтобы предотвратить бесконечный цикл перенаправления.

index.php:

if(!isset($_GET['step'])){ 
    header('Location:http://www.monsite.com/index.php?step=1'); 
} 

Пути вы его сконфигурировано будет перенаправлять на неопределенное время, так как ничего не говорят двигатель «не перенаправляет меня, как только переменный шаг URL устанавливается».

Есть способы сделать это в файле .htaccess, но поскольку такие виды переадресаций, как правило, являются логикой приложения, кажется, имеет смысл сделать это прямо в вашем скрипте.

Или, для чистого .htaccess решения:

#if query string is empty 

RewriteCond %{QUERY_STRING} ^$ 

#match on/for root, or .index.php in request and send to query string version 

RewriteRule ^(/|index.php)?$ /index.php?step=1 [R=301,L] 
+0

привет, я бы хотел использовать htaccess ... Спасибо за вашу помощь – JojoLapin45

+0

@ JojoLapin45 отредактировал – DeaconDesperado

+0

Спасибо, он работает как шарм :) – JojoLapin45

Смежные вопросы