301 Redirect / Rewrite дает ошибку цикла - PullRequest
0 голосов
/ 07 ноября 2011

Я получаю цикл перенаправления со следующим кодом.Как я могу это исправить?

  • первая часть перенаправляет /links.php в / связанный
  • вторая часть переписывает / связана с /links.php

RewriteBase /domain.com

RewriteRule ^links\.php$ linked? [NS,R=301,L]
RewriteRule ^linked$ links.php?redirect=no [NS]

Оба способа работают, поэтому я принимаю первый, который отправит сообщение.Еще раз спасибо!

Ответы [ 2 ]

2 голосов
/ 07 ноября 2011

Вы можете сопоставить исходный URL вместо (возможно, уже переписанного), используя условие перезаписи:

RewriteCond %{THE_REQUEST} links\.php
RewriteRule ^links\.php$ linked? [R=301,L]
RewriteRule ^linked$ links.php [L]
2 голосов
/ 07 ноября 2011

Необходимо проверить строку запроса, добавленную во втором правиле, поэтому добавьте RewriteCond перед первым правилом:

RewriteCond %{QUERY_STRING} !redirect=no
...