мод-переписать URL перенаправления со строкой запроса на статический URL - PullRequest
1 голос
/ 28 ноября 2011

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

Таким образом, если пользователь переходит к:

http://mysite.com/index.cfm?event=page.product&productid=170&languageid=en

тогда mod_rewrite будет перенаправлять на:

http://mysite.com/en/products/170

Я пробовал это в моем файле htaccess (и htaccess работает):

RewriteCond %{QUERY_STRING} ^event=page\.product&productid=(.*)&languageid=(.*)$ [NC]

RewriteRule ^index\.cfm$ /%2/products/%1/ [R=301,L]

Однако, похоже, это не работает. Я просмотрел весь стекопоток, но не могу найти то, что ищу.

Любая помощь с благодарностью.

Спасибо, Том

1 Ответ

0 голосов
/ 29 ноября 2011

Очень странно, что ваш код не работает. Итак, вот мои советы, которые могут поставить вас на правильный путь:


(1)

Пожалуйста, попробуйте использовать директиву RewriteLog: она поможет вам отследить такие проблемы:

# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On

(2) * * +1011

Мой любимый инструмент для проверки регулярных выражений:

http://www.quanetic.com/Regex (не забудьте выбрать ereg (POSIX) вместо preg (PCRE)!)

...