Я собираюсь изменить свое доменное имя, но также нужно изменить и одно имя папки в структуре URL-адресов. Я хочу, чтобы "www.example.com/name" превратился в "new-example.com/new-name".

У меня есть этот код для .htaccess:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(?:name/?)?(.*)$ http://new-example.com/$1 [L,R=301,NC,NE]

Но этот код удаляет папку "name" на перенаправленных ссылках. Как я могу изменить имя папки и не удалять ее?

1
Haral 18 Мар 2016 в 20:03

2 ответа

Лучший ответ

Попробуйте это правило в качестве самого первого:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^name(/.*)?$ http://new-example.com/new-name$1 [L,R=301,NC,NE]

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ http://new-example.com/$1 [L,R=301,NE]

Перед проверкой этого изменения очистите кеш браузера.

0
anubhava 18 Мар 2016 в 20:56

Это сработает?

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^name/(.*)$ http://new-example.com/new-name/$1 [L,R=301,NC,NE]
1
Egg 18 Мар 2016 в 17:09