Использование mod_rewrite для перенаправления с использованием различных переменных get - PullRequest
1 голос
/ 29 июля 2010

Используя mod_rewrite, как бы я взял URL, как эти:

www.example.com /? Foo = привет

www.example.com /? Foo = мир

и перенаправьте их на URL, подобные этим:

www.example.com / привет /

www.example.com / мир /

Спасибо

1 Ответ

3 голосов
/ 29 июля 2010

То, что вы должны делать, противоположно этому.Все URL-ссылки на вашем сайте выглядят как «симпатичная» версия (но не меняются никакие другие функции), затем вы используете mod_rewrite для создания шаблонов, которые будут соответствовать запросам на «симпатичный» URL-адрес и отображать соответствующий «уродливый»URL-адрес.Очень простой пример для вашей ссылки ...

RewriteEngine On
RewriteEngine ^([^/]+)/?$ /index.php?foo=$1

Обновление:

Вы можете перенаправить в обратном направлении, используя ...

RewriteEngine On
RewriteCond %{QUERY_STRING} ^foo=(.*)
RewriteRule ^index.php$ /%1/ [R=302]

Как только вы убедитесь, что он работает, вы можете изменить 302 на 301 для постоянного перенаправления.Если вы объедините это с приведенным выше примером, вы получите 500 внутренних ошибок сервера, поскольку вы будете создавать цикл перенаправления.

...