2013-04-25 5 views
1

Пару дней назад я задал вопрос, который не мог быть ответом, и у меня почти есть это, но не совсем, я уверен, что это то, чего я не хватает, и вы, ребята, можете мне помочь ...htaccess redirect неполная задача

Вот код:

RewriteEngine on 
    RewriteCond %{HTTP_HOST} ^monitorbc\.info$ [OR] 
    RewriteCond %{HTTP_HOST} ^www\.monitorbc\.info$ 
    RewriteRule ^notas\.php?(.*) "https://monitorbc.info/monitor3/notas.php?" [R=301,L] 

    # one of the links from the old site = https://monitorbc.info/notas.php?id=699&sec=economia 
    # It should end up like this = https://monitorbc.info/monitor3/notas.php?id=699&sec=economia 

проблема заключается в том, что она делает перенаправление, но по какой-то причине редирект останавливается на? так что это не завершает задачу.

Надеюсь, на этот раз я нахожу смысл.

ответ

1

Вы не можете сопоставлять строку запроса с правилом перезаписи, вы можете соответствовать только переменной %{QUERY_STRING} внутри условия перезаписи. ?, который у вас есть в выражении, оценивается как последний «p» в «php» не является обязательным. Но так как вы, похоже, не используете строку запроса. Удалите все отметки ?. По умолчанию строка запроса добавляется к цели вашего правила:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^monitorbc\.info$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.monitorbc\.info$ 
RewriteRule ^notas\.php$ https://monitorbc.info/monitor3/notas.php [R=301,L] 
+0

Отлично. Большое спасибо, Извините за столь плохо заданный вопрос пару дней назад. Ваше предложение отлично работало. –