Перенаправление Htaccess всегда сохраняет старый путь - PullRequest
0 голосов
/ 07 июня 2018

Я хотел бы сделать перенаправление, используя правила htaccess для указания ВСЕХ ссылок с

mywebsite.com / subfolder1 / subfolder2 / ... what-path ....

до

mywebsite.com / subfolder1

Но проблема в том, что любое используемое мной правило всегда сохраняет старый путь в целевой ссылке, например:

mywebsite.com / subfolder1 / subfolder2 / mypage.php

становится

mywebsite.com / subfolder1 / mypage.php

Я перепробовал все следующие возможности:

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

RewriteRule ^subfolder1/subfolder2/(.*)$ /subfolder1/$1 [R=301,NC,L]

RewriteRule ^/subfolder1/subfolder2/(.*)$ /subfolder1/$1 [R=301,NC,L]

Redirect 301 /subfolder1/subfolder2 https://mywebsite.com/subfolder1

RedirectMatch 301 /subfolder1/subfolder2(.*)$ /subfolder1/$1

RedirectMatch 301 ^/subfolder1/subfolder2/?$ https://mywebsite.com/subfolder1

Я разместил правила "Options + FollowSymLinks" и "RewriteEngine on" перед ними, но ни один из них не сработал.

Может кто-нибудь сказать, что не так и как найти правильное правило?

Спасибо.

1 Ответ

0 голосов
/ 07 июня 2018

Попробуйте это

RewriteRule ^subfolder1/subfolder2/(.*)$ /subfolder1 [R=301,NC,L]

С помощью $1 вы присоединяете содержимое (.*) к перенаправленному URL.Удалите их из кода и

http://mywebsite.com/subfolder1/subfolder2/whatever-path будет http://mywebsite.com/subfolder1

...