Я пытаюсь переписать следующие URL-адреса, как так (%2F
является /
):Wordpress URL переписывания - часть URL после существующей страницы
/archives/JHW
-> /archives?RefNo=JHW
/archives/JHW/1/1
-> /archives?RefNo=JHW%2F1%2F1
/archives
-> no redirect
Идея заключается в том, чтобы получить URL, смотрится хорошо, но потом иметь возможность захватить остальную часть пути только с $_GET['RefNo']
с страницы /archives
, которая уже существует as a page. До сих пор у меня есть:
RewriteRule ^archives/(.+)/? /index.php/archives/?RefNo=$1 [QSA,L]
Но это, похоже, не работает вообще.
Я добавить его с помощью этого кода в моей functions.php
для моей темы:
add_rewrite_rule(
'archives/(.+)/?',
'index.php/archives?RefNo=$1',
'top'
);
, а затем пошли на Permalinks
страницу в /wp-admin
, чтобы сделать его регенерировать файл .htaccess
. Когда я смотрю на .htaccess
, правило там, оно просто не ногами, как я ожидаю.
Куда я иду не так?
Update
Мой текущий .htaccess
файл:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^archives/(.+)/? /index.php/archives/?RefNo=$1 [QSA,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Не могли бы вы опубликовать текущий htaccess Wordpress? Кроме того, где определено '/ archives', так как вы сказали, что это существующая страница? –
Это буквально [существующая страница] (http://grab.by/APRE). Я обновил вопрос с помощью текущего htaccess. – Joe
Хорошо. Но как насчет вашего правила? Вы пытаетесь переписать на '/index.php/archives/? RefNo = XXX' (передача Wordpress), а в начале вашего вопроса вы говорили о'/archives? RefNo = XXX'. Какой из них использовать? –