Я новичок в использовании регулярных выражений для перезаписи URL-адресов в htaccess
Мне нужно перенаправить mysite.com/123 на mysite.com/, ЕСЛИ установлен файл cookie с именем «ref».
мой текущий htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} ref=true [NC]
RewriteRule ^/([0-9]+)/$ http://www.mysite.com
</IfModule>
Цель состоит в том, чтобы, когда кто-то заходит на сайт с: mysite.com/111 (некоторый номер), он перенаправляется на домашнюю страницу сайта после установки файла cookie.
Это правило никогда не будет совпадать, поскольку вы оба находитесь в htaccess
файл и установили RewriteBase
. Оба эти фактора задают относительный контекст, в котором RewriteRule
функции внутри - поэтому он удаляет ведущую косую черту в строке соответствия.
Попробуй это:
RewriteRule ^([0-9]+)/?$ http://www.mysite.com/ [R=302,L]