Я пытаюсь добавить строку запроса ко всем URL 2-го и 3-го уровня на веб-сайте, который не содержит строку запроса.
В данный момент я нахожусь здесь:
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ /?features_hash=314-44914 [L,R=301,NC]
, который перенаправляет только домашнюю страницу с https://www.website.com/ на https://www.website.com/?features_hash=314-44914
Все остальные уровни перенаправляются на дом.
I также пробовал:
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^$ /?features_hash=314-44914 [L,R=301,NC]
, который работает только на домашней странице, а остальное дерево игнорирует его. Без изменений там. Мне нужно иметь
и т. Д.
В принципе, я не против, если запрос будет добавлен на первой странице. Не имеет никакого значения. Мне это нужно, хотя на 2-м, 3-м и 4-м уровнях. Фактически на всех уровнях веб-сайта.
Таким образом, предлагаемое решение все еще не работает. Это выглядит правильно, но не работает в данный момент. Он перенаправляет все URL-адреса домой с запросом. Таким образом, уровни URL теряются и сворачиваются все до дома.
Поэтому я подумал, что может возникнуть проблема с остальными условиями перезаписи в htacess. Может быть, весь файл может помочь:
RewriteEngine on
RewriteRule ^init.php$ - [F,L,NC]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(favicon|apple-touch-icon-|homescreen-|firefox-icon-|coast-icon-|mstile-).*\.(png|ico)$ - [R=404,NC,L]
RewriteCond %{REQUEST_URI} ^api/(.*)$ [or]
RewriteCond %{REQUEST_URI} .*/api/(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*api/(.*)$ api.php?_d=$1 [L,QSA]
RewriteCond %{REQUEST_URI} \.(png|gif|ico|swf|jpe?g|js|css|ttf|svg|eot|woff|yml|xml)$ [NC,or]
RewriteCond %{REQUEST_URI} store_closed.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)\/(.*)$ $2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L,QSA]
# Solution Suggested by anubhava - Thank you!
RewriteCond %{QUERY_STRING} !(^|&)features_hash= [NC]
RewriteRule ^ %{REQUEST_URI}?features_hash=314-44914 [L,R=301,NC,QSA]