WordPress custom Querystrings & Pretty URL's – Как?

У меня есть отличная (до сих пор) установка wordpress для нового веб-сайта. Симпатичные URL-адреса работают так, как ожидалось.

У меня есть одна динамическая страница, которая загружает контент в зависимости от запроса:

/dynamic/?loc=england&code=uk 

Я хочу сделать этот URL «симпатичным», но каждый раз я изменяю .htaccess, никаких изменений не сделано. Пробовал все и искал все остальное – последнее средство. Если бы я мог заставить работать, тогда я был бы счастлив.

Мне нужно сделать URL-адрес похожим.

 /dynamic/location/england/code/uk/ 

Добавление этого в любой .htaccess прерывает весь сайт.

 RewriteRule /dynamic/(.*)/(.*)/(.*)/(.*)/$ /dynamic?$1=$2&$3=$4 

Что мне не хватает.

заранее спасибо

N

Не добавляйте правило перезаписи в файл .htaccess . WordPress управляет этим файлом для вас, поэтому старайтесь использовать встроенные функции, когда можете.

У WordPress действительно есть несколько продвинутый механизм перезаписи, который поставляется с стандартным – и он подключается, как и вся платформа.

Трюк, однако, работает с ним. Вам нужно будет зарегистрировать свой RegEx, чтобы WordPress знал, какие строки должны соответствовать (например, dynamic/location/(.*)/code/(.*) => /dynamic?$loc=$1&code=$2 ). Затем вам нужно будет настроить страницу и скрипт на задней панели для обработки представления.

Для аналогичного примера рассмотрим ответ, который я получил, на разбор пользовательских URL-адресов с настраиваемым типом сообщения в WordPress Answers . Расширяя это, вам необходимо настроить код, похожий на следующий ( примечание: untested !!!):

 <?php add_action('init', 'add_my_rewrite'); function add_my_rewrite() { global $wp_rewrite; $wp_rewrite->add_rule('location/([^/]+)/code/([^/]+)','index.php?loc=$matches[1]&code=$matches[2]','top'); $wp_rewrite->flush_rules(false); // This should really be done in a plugin activation } 

Это должно автоматически добавить структуру перезаписи в ваш файл .htaccess .