Здравствуйте.
Есть блог на Wordpress. C помощью mod_rewrite в htaccess включены "красивые" урлы.
Таким образом, символы "?" и "&" в URL используются только в администраторском разделе (по адресу example.com/wp-admin/ и по адресу example.com/wp-login.php). Остальные страницы открываются как http://example[dot]com/pagenumber/ , категории http://example[dot]com/category/categoryname/ .
Нужно, чтобы при произвольном вводе в адресной строке символов "?" и "&" в конце URL страниц либо отдавалась 404, либо шел редирект на реальную страницу.
Например, "реальный" адрес страницы http://example[dot]com/123/ и если ввести http://example[dot]com/123/?1 или http://example.com/123/? или даже http://example.com/123? , то происходит редирект (301) на http://example[dot]com/123/ или отдается 404 ошибка. То есть, чтобы не было дублей.
При этом, нужно сделать исключениями все адреса, начинающиеся на example.com/wp-admin/ и example.com/wp-login.php (т.е. по этим адресам символы "?" и "&" использовать можно).
Как это сделать?
Насколько я понимаю, сделать это можно с помощью mod_rewrite (apache), но как?
1. mtox - 13 Сентября, 2009 - 18:56:12 - перейти к сообщению
2. Ch_chov - 13 Сентября, 2009 - 19:22:02 - перейти к сообщению
Всё что находится после ? передается в скипт ввиде переменной $_SERVER['QUERY_STRING']