В .htaccess удалить слово из URL

После более чем одного часа поиска я все еще не могу понять, как перенаправить ссылку сhttp://site/fr/other вhttp://site/other.

Я использую этот код:

RewriteEngine On
RewriteRule ^/fr/(.*)$ /$1 [L,R=301,QSA]

Ответы на вопрос(2)

Решение Вопроса

Просто удалите первую косую черту:RewriteRule ^fr/(.*)$ /$1 [L,R=301,QSA].

Попробуйте это наhttp://htaccess.madewithlove.be/.

 31 мая 2012 г., 20:41
Да, вы можете добавить другое правило:RewriteRule ^fr$ / [L,R=301,QSA].
 user80473631 мая 2012 г., 20:48
Еще раз спасибо, это сработало! Комбинированный выглядит намного чище. Хорошего дня
 user80473631 мая 2012 г., 20:33
спасибо, вы были правы, но теперь, если пользователь вводит site / fr, он дает им 404, но сайт / fr / работает. Должен ли я добавить правило для дела сайта / фр?
 31 мая 2012 г., 20:55
Хорошо, это комбинированное правило может быть лучше:RewriteRule ^fr((?:(?:\s*|/.*)$)) $1 [L,R=301,QSA]. http://site/france не перенаправляет наhttp://site/ance; http://site/fr  перенаправляет наhttp://site/; http://site/fr/ перенаправляет наhttp://site/; http://site/fr/other перенаправляет наhttp://site/other.
 31 мая 2012 г., 20:49
Ой, прости. Я удалил комбинированный (RewriteRule ^fr((?:/.*$)?) $1 [L,R=301,QSA]) так какhttp://site/france будет перенаправлять наhttp://site/anceЯ не думаю, что это ожидаемое поведение.

Для удаления «-xyz-»; с URL

RewriteRule ^(.*)-xyz-(.*).html$ http://%{SERVER_NAME}/$1-$2.html [NC,R=301,L]

Удалить «xyz» от URL & a;http://yoursite.com/xyz/some-url.html& APOS;

RewriteRule ^xyz/(.*)\.html$ $1-watches.html [L,R=301]

Удалить «xyz» от URL & a;http://yoursite.com/some-dir/xyz/some-url.html& APOS;

RewriteRule ^(.*)/xyz/(.*).html$ http://%{SERVER_NAME}/$1/$2.html [NC,R=301,L]

Ваш ответ на вопрос