Направить подкаталог на поддомен с помощью htaccess

Я хочу перенаправить это: https://example.com/sub-dir/page на это: https://subdomain.example.com/page

Мы используем prestashop для нашего основного сайта. У нас есть некоторый статический контент в подкаталоге, который мы с тех пор переместили в поддомен. Навигация по форме example.com/sub-dir приведет к sub.example.com без изменений в htaccess.

Проблема в том, что страницы не перенаправляются. Получаем ошибку 404. с example.com/sub-dir/page

Я пробовал это, но это не работает.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/sub-dir
RewriteRule ^(.*)$ https://subdomain.example/$1 [R=301,L]

Я также пробовал это:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^sub-dir/(.*)$ https://subdomain.example/$1 [L,R=301]

Также это:

RedirectMatch 301 ^/sub-dir/$ https://subdomain.example/

person N13Design    schedule 04.10.2018    source источник


Ответы (1)


Попробуйте это поверх вашего файла .htaccess:

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule . - [E=HTTP_AUTHORIZATION:%1]
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^sub\-dir$ sub/ [L]
RewriteRule ^sub\-dir/(.*)$ https://sub-domain.example/$1 [R=301,L]
person Danoosh    schedule 04.10.2018
comment
Не работало. Имеет ли значение, что в подкаталоге есть тире «подкаталог», а в поддомене нет? Я собираюсь обновить вопрос, чтобы показать, что я имею в виду. - person N13Design; 05.10.2018
comment
@ N13Design Вы должны добавить обратный слэш перед тире. Я обновил свой ответ. - person Danoosh; 07.10.2018
comment
Он пробовал с обратной косой чертой перед тире, но я все еще получаю ошибку 404. - person N13Design; 08.10.2018