Apache Redirect 301 не работает с параметрами - PullRequest
1 голос
/ 23 августа 2010

я пытаюсь сделать 301 перенаправление с этого адреса: /web/8888/nsf/sbs.py?&_ID=9884&did=3025&PF=14&G=9884&SM=9884&lang=HE&_UserReference=956357C53FD2C8024C725EE5

на этот адрес: /?page=product&p_id=9884

значение 9884 является динамическим значением, остальные всегда не

Я пытаюсь использовать:

Redirect 301 "/web/8888/nsf/sbs.py?&_ID=9884&did=3025&PF=14&G=9884&SM=9884&lang=HE&_UserReference=956357C53FD2C8024C725EE5"  /?page=product&p_id=9884

кто-нибудь может помочь мне решить эту проблему?

1 Ответ

1 голос
/ 23 августа 2010

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

Имея это в виду, из вашего примера URL, похоже, что вы хотите что-то вроде этого:

RewriteEngine On

# Check if the path part matches the URLs we want to redirect
# If so, check if the query string contains an ID
# If we find an ID, redirect to the correct product page with that ID number
RewriteCond %{QUERY_STRING} (\A|&)_ID=([0-9]+)
RewriteRule ^web/8888/nsf/sbs\.py$ /?page=product&p_id=%2 [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...