Мод переписать на маршрут на основе сегмента URI (WordPress Постоянная ссылка) - PullRequest
0 голосов
/ 21 апреля 2011

Wordpress Эксперты:

Итак, мой экземпляр WordPress в настоящее время настроен на использование дружественных URL. Мои текущие правила переписывания выглядят примерно так:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Что в основном означает: отправьте все на index.php для отправки.

Что мне НУЖНО сделать, так это то, что всякий раз, когда кто-то обращается к моей странице / промо, я отправляю остальную часть URI этому контроллеру (это файл promo.php, прикрепленный к странице через Имя шаблона: Промо), но он все равно нужно сделать это через index.php, чтобы сделать это.

Короче говоря, я хочу, чтобы / promo / fakecompany технически вел себя так же, как и wordpress: index.php? Page = promo & fakecompany

Или даже перенаправление, которое возьмет второй сегмент чего-либо вне / promo и создаст из него строку запроса, то есть динамический вид этого:

Redirect 301 /promo/fakecompany /promo/?fakecompany
Redirect 301 /promo/fakecompany/referpage /promo/?fakecompany&referpage

Есть ли способ сделать это? Или, возможно, более элегантное решение? Хуже становится все хуже, мне просто придется жестко закодировать в редиректе на данный момент:

Заранее спасибо.

1 Ответ

1 голос
/ 21 апреля 2011

Ваши текущие правила гласят: перенаправьте все, что не является обычным файлом или каталогом, в index.php

По вашему запросу:

RewriteRule ^/promo/([^/]+)$ index.php?page=promo&$1 [L]

или

RewriteRule ^/promo/([^/]+)/([^/]+)/$ /promo/?$1&$2

Должно работать (при условии, что вы разместите его перед действующими правилами)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...