По умолчанию я считаю, что WordPress использует значение REQUEST_URI
при маршрутизации запроса.Ваше правило
RewriteRule ^profile /login-2?action=profile
... должно правильно переписать /profile
в /login-2?action-profile
, но WordPress не будет наблюдать это изменение, поскольку значение $_SERVER[REQUEST_URI]
в PHP основано на исходном запросе, отправленномserver.
Возможно, можно обойти эту проблему, заставив WordPress использовать PATH_INFO
вместо этого, изменив стандартный постоянный блок WordPress:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.php/$0
Можно также использовать P
флаг для прокси переписанного запроса через, который обновит REQUEST_URI
.Это связано с дополнительными затратами на создание нового запроса, поэтому я не уверен, что рекомендую его:
RewriteRule ^profile /login-2?action=profile [P]