Мой htaccess редирект не работает, когда я указываю слово для соответствия - PullRequest
1 голос
/ 28 апреля 2020

Я заблокирован часами на правило переписывания. Я провожу много времени, просматривая старые вопросы в stackoverflow и других блогах, но все еще не понимаю ...

Я просто хочу перенаправить пользователей, вводящих Speci c URL-адрес, содержащий слово инвестиций

Итак, я сделал это, например:

RewriteRule ^(.*)investment(.*)$ https://example.com/$1 [L,R=301]

И тогда ничего не происходит, но когда я пытаюсь это сделать:

RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

переписать правила работы ... Но это не то, что мне нужно мой редирект не работает, было бы круто ^^

Заранее всем спасибо!

1 Ответ

1 голос
/ 28 апреля 2020

Возможно, у вас есть другие правила, изменяющие REQUEST_URI. Вы можете попробовать это правило с помощью переменной THE_REQUEST

RewriteCond %{THE_REQUEST} \s/+(.*?)investment [NC]
RewriteRule ^ https://example.com/%1 [L,R=301]

THE_REQUEST, представляющей исходный запрос, полученный Apache от вашего браузера, и он не перезаписывается после выполнения других директив перезаписи. Пример значения этой переменной: GET /index.php?id=123 HTTP/1.1


После последнего редактирования вопроса:

Вы можете вставить это правило:

RewriteRule ^(.*)investment https://example.com/$1 [L,R=301,NC]

чуть ниже RewriteBase линии и повторите тест.

...