#wordpress #.htaccess
#wordpress ( wordpress) #.htaccess .htaccess #wordpress
Вопрос:
У меня проблема с моим файлом htaccess в WordPress. Я хочу перенаправить пользователей, которые заходят в /wp-login.php?action=register, на другую регистрационную форму с параметром role. Как это /wp-login.php?действие=регистрацияamp;роль= пациент. Поэтому я хочу скрыть первый URL от пользователей. Я написал эту строку в своем htaccess.
RewriteRule ^wp-login.php?action=register$ /wp-login.php?action=registeramp;role=patient [NC,L]
Это находится здесь, в моем файле:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-login.php?action=register$ /wp-login.php?action=registeramp;role=patient [NC,L]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
И это на меня никак не влияет. Что я здесь делаю не так?
Ответ №1:
Вы должны сопоставить строку запроса в RewriteCond
:
RewriteCond %{QUERY_STRING} ^action=register$
RewriteRule ^wp-login[.]php$ /wp-login.php?action=registeramp;role=patient [R,NC,L]
Редактировать: исправил мой ответ
Комментарии:
1. RewriteRule ^wp-login.php [?]действие=register$ /wp-login.php?действие=registeramp;роль=пациент [NC,L] Я вставляю это в ту же строку, но ничего не изменилось… Та же проблема…
2. Спасибо, я нашел это решение, когда прочитал документацию и увидел информацию о QUERY_STRING 🙂 В любом случае, спасибо за помощь!
3. @numediaweb в вашем случае проблемы могут быть различия, вы всегда можете задать новый вопрос здесь, в StackOverflow
Ответ №2:
Другая проблема и решение связаны с htaccess: когда ваш веб-сайт находится у хост-провайдера, у которого вы получаете установку WordPress, может случиться так, что ваш WP находится не в корневом каталоге, а в каталоге с именем WordPress-xxxx
Например: адрес вашего веб-сайта : http://website.com
итак, ваш путь таков: http:/website.com/wordpres-xxx/file xxx
Однако большинство провайдеров используют в фоновом режиме перенаправление, поэтому вашему посетителю кажется, что он переходит непосредственно к http://website.com
Для htaccess это проблема. Если вы заглянете в свой каталог WP, вы найдете htaccess и хорошо измените его на правильный формат. Но в вашем корневом каталоге есть другой htaccess. Часто вы не можете изменить этот файл, потому что ваш провайдер блокирует его для любых изменений по соображениям безопасности.
Вот почему ваши посетители не могут найти ваши страницы на вашем веб-сайте (404), потому что файл htaccess в вашем корневом каталоге не изменился.
Вы должны попросить своего провайдера синхронизировать оба файла htaccess. тот, что в WP, должен быть скопирован / перезаписан тем, что находится в вашем реальном корневом каталоге.
это решило бы проблему
Комментарии:
1. Это где-нибудь задокументировано?