it-swarm.xyz

Wordpress переопределяет переменные GET, (page_id), установленные в HTACCESS 

У меня есть очень большой WordPress-сайт, который расширяет возможности WordPress. Он использует несколько страниц/категорий и множество правил .htaccess для организации различных разделов сайта (это для большого журнала).

Одна конкретная проблема действительно ставит меня в тупик. У меня есть следующие правила в .htaccess ...

RewriteRule ^(cat|tag)/([^\/]+)(/?)$ index.php?page_id=3&s1=$2 [L,QSA]
RewriteRule ^xyz/([^\/]+)(/?)$ index.php?page_id=6&s1=$1 [L,QSA]

Теперь, если аргумент, предоставленный странице cat/tag, не имеет завершающей косой черты, он всегда работает. Если аргумент имеет косую черту, и рассматриваемый тег соответствует записям в не-Wordpress таблице, которая работает со страницей 'xyz', Wordpress вместо этого загружает эту страницу, даже если тег присутствует.

Я проверил, что правила всегда работают, и они работают. Wordpress всегда получает правильный $ _GET ['page'] из 3 и тэг slug как $ _GET ['s1'], и все же решает показать другую страницу в целом, если приведенное выше верно.

Все сделано в .htaccess, постоянные ссылки в WordPress полностью отключены. Как я могу остановить WP форму, решающую против page_id, который ему сказали использовать.

1
beseku

С URL-маршрутизацией WordPress действительно сложно работать. Я с нетерпением жду того дня, когда он будет заменен чем-то более рациональным (и я надеюсь, что смогу написать код для его замены, но я отвлекся ...)

Однако я думаю, что вашей первой проблемой является попытка сделать все в .htaccess. Вероятно, у меня больше опыта в разработке и переписывании URL-адресов, чем у всех, кого я знаю, и я действительно не стал бы бороться с WordPress с помощью .htaccess; Скорее всего, вы получите только те результаты, которые в настоящее время сводят вас с ума. Вместо этого я бы попытался управлять маршрутизацией URL-адресов изнутри WordPress и использовать ловушки для случаев, когда вам нужно переопределить что-то, что WordPress делает по-настоящему круто.

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

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

2
MikeSchinkel