Проблема обнаружения пустого REQUEST_URI с помощью Apache mod_rewrite

Я запускаю Apache с таким правилом перенаправления :

RewriteCond %{HTTP_HOST} ^1st-domain\.com
RewriteRule ^(.*)$ http://2nd-domain.com$1 [R=permanent,L]

Это успешно перенаправляет http://1st-domain.com на http://2nd-domain.com Однако, когда REQUEST_URI пуст, я хочу перенаправить на третий домен.

RewriteCond %{HTTP_HOST} ^1st-domain\.com$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ http://3rd-domain.com$1 [R=permanent,L]

Но это не работает и вместо этого перенаправляет на 2nd-domain.com

Мои правила упорядочены следующим образом:

RewriteCond %{HTTP_HOST} ^1st-domain\.com$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ http://3rd-domain.com$1 [R=permanent,L]

RewriteCond %{HTTP_HOST} ^1st-domain\.com
RewriteRule ^(.*)$ http://2nd-domain.com$1 [R=permanent,L]

Есть предложения? Заранее спасибо.

UPDATE

  1. Пустой REQUEST_URI: http: /1st-domain.com
  2. Непустой REQUEST_URI: http://1st-domain.com/something

Первый правило должно направлять пустой request_uri на 3rd-domain.com, второе правило должно направлять непустой request_uri на 2nd-domain.com

ПОЛЕЗНЫЙ TIDBIT Вы можете включить отладку mod_rewrite с помощью этого фрагмента:


RewriteLog "/home/domain.com/logs/rewrite.log"
RewriteLogLevel 3

Очень полезная опция отладки, о которой я не знал.

6
задан pchap10k 17 April 2011 в 14:08
поделиться