301 Перенаправление со строкой запроса и доменным именем в Apache - PullRequest
0 голосов
/ 03 марта 2010

Я пытаюсь написать перенаправление 301, которое будет проверять как имя хоста, так и параметр строки запроса. Так что, если URL является одним из двух.

Тогда я хочу, чтобы он перенаправил на соответствующую страницу:

В противном случае, если хост не example.com как

Тогда я не хочу его перенаправлять.

Это то, что я имею до сих пор, но, похоже, это не работает. Если бы кто-нибудь мог помочь с этим, это было бы очень ценно. Я уже пытался найти похожий ответ, но не смог его найти.

RewriteEngine on

RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteCond %{query_string} p=11&b=3
RewriteRule (.*) http://store.example.com/testpage.html [R=301,L]

1 Ответ

1 голос
/ 03 марта 2010

Вам необходимо указать пустой запрос для URL замещения:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{QUERY_STRING} p=11&b=3
RewriteRule .* http://store.example.com/testpage.html? [R=301,L]

В противном случае исходный запрошенный запрос автоматически добавляется к новому URL.

...