У меня Wordpress установлен в каталоге под названием добро пожаловать, и / добро пожаловать / образцы это «страница» (созданная с помощью Wordpress). В нем есть шаблон php, ожидающий $ _REQUEST ['category']
Когда пользователь переходит в / welcome / samples /весело, Я хочу, чтобы "повеселились" передал шаблон php samples в виде welcome / samples /? category = весело
Но я хочу, чтобы URL-адрес оставался в исходном виде - в настоящее время он заменяет его уродливым "? Cat ... etc"
# Outside the wordpress block so it won't be overwritten
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^samples/([^/]+)$ /welcome/samples?cat=$1 [R,L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /welcome/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /welcome/index.php [L]
</IfModule>
# END WordPress
Я пробовал переписывать просто samples?cat=$1
но я получал 404. Я попытался вставить RewriteBase /welcome/
в первом блоке. без флага [R] он вообще не работает. Я продолжаю пробовать разные перестановки ... и терплю неудачу :(
Возможно, мне не хватает основных концепций ... спасибо, если вы нашли время хотя бы прочитать это :)
Чао
Мне показалось, что это сработало:
RewriteRule ^welcome/samples/([^/]+)$ /welcome/samples?cat=$1
Я заметил, что вы соответствуете ^samples…
но на самом деле нет RewriteBase
еще, поэтому вам нужно сопоставить больше (^welcome/samples…
)