Почему мое правило перезаписи вызывает ошибку 400 для всех ajax? - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть HTTP-заголовок geoip с именем {HTTP: CF-IPCountry}, в котором хранится код страны, такой как FR, US и т. Д. Что мне нужно сделать, это добавить строку запроса loc = {HTTP: CF-IPCountry} в домашнюю страницу веб-сайта https://example.com/test-website/ и любую страницу, URL-адрес которой начинается с https://example.com/test-website/products/ и добавьте строку запроса, если в URL-адресе используются какие-либо другие строки запроса, поэтому, если пользователь запросил страницу https://example.com/test-website/products/shoe/?size=s следует переписать как https://example.com/test-website/products/shoe/?size=s&loc=us

Вот так выглядит файл htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test-website/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /test-website/index.php [L]

RewriteCond %{QUERY_STRING} !^loc [NC]
RewriteRule (.*) /%{REQUEST_URI}/?loc=%{HTTP:CF-IPCountry} [NC,NE,R,L,QSA]
</IfModule>

# END WordPress

В моем последнем rewriterule есть 2 проблемы, которые я хочу решить 1- Это вызывает ошибку 400 для всех ajax на моем веб-сайте как на веб-интерфейсе, так и на админ-панели WordPress

2 - Я хочу применить это rewriteRule к 2 местам, на данный момент это правило работает только на домашней странице и на https://example.com/test-website/wp-admin/ Те 2 места, к которым я хочу обратиться, являются ... a- На главную страницу сайта https://example.com/test-website/ b- На все страницы, которые начинаются с https://example.com/test-website/products/

Спасибо

...