Назад | Перейти на главную страницу

Выражение Reg htaccess RewriteRule

Я новичок в использовании регулярных выражений для перезаписи 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]