301 Правило перенаправления - PullRequest
0 голосов
/ 03 декабря 2009

Нужна помощь с правилом перенаправления 301 htaccess, которое делает следующее:

www.name.com / wordA / wordB / * to www.name.com/WordNEW/wordA/wordB/*

мы в основном добавляем "WordNew".

У меня есть три слова A и пять слов B, всего 15 вариантов пути.

Ответы [ 3 ]

1 голос
/ 03 декабря 2009

Вращайте это для размера:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/WordNEW [NC]
RewriteRule ^(.*)$ /WordNEW/$1 [L,R=301]

Разбитый

RewriteCond %{REQUEST_URI} !^/WordNEW [NC]

Убедитесь, что запрошенный URI не запускается (!^) с тем же путем к папке (/WordNEW), что и последний. Если это произойдет, вы уже перенаправили один раз или вы уже там. Если вы не проверите, то можете оказаться в цикле, переписывая путь снова и снова.

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

Если он пройдет, возьмите весь запрошенный URI (^(.*)$) и добавьте новый путь к папке (/WordNEW/$1). Затем пометьте это как последнее правило (L) в RewriteRule, перенаправляя под 301 (R=301).

0 голосов
/ 04 декабря 2009

Вот более простое правило:

RewriteRule !^WordNEW/ /WordNEW%{REQUEST_URI} [L,R=301]
0 голосов
/ 03 декабря 2009

, если WordNEW находится в постоянной позиции, мое быстрое и грязное решение было бы разделить строку URL на '/'. в индексе 1 я бы добавил строку WordNEW /. Чтобы найти более реальное решение, мне нужно подумать.

...