2015-11-18 2 views
1

Я хотел бы создать правило перезаписи для .htaccess, с помощью которого я могу перенаправить подстраницы. правило должно сделать следующее вещь:rewriterule для набора URL-адресов?

У меня есть сотни страницы, которые могут быть доступны по следующему пути

http://www.domain.de/firma/stadt/adresse

Теперь я хотел бы перенаправить все эти URL, чтобы

http://www.domain.de/firma/stadt

для этого я использовал это правило:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^/firma/stadt/(.+)\.(htm|php|html)$ /firma/stadt/$1 [L,R=301] 
</IfModule> 

К сожалению, ничего не происходит :-(Где ошибка?

Кроме того, я также хотел бы исключить отдельные URL из этого правила ... Может ли кто-нибудь мне помочь?

вид касается

+0

Вы хотите, чтобы http://www.domain.de/firma/stadt/file.php перенаправляли на http://www.domain.de/firma/stadt/file? – starkeen

+0

нет, я хочу, чтобы набор URL-адресов вроде этого http://www.domain.de/firma/stadt/adresse перенаправлялся на http://www.domain.de/firma/stadt, но я точно не знаю файловую структуру – tom84

+0

я смотрел на сервер и нет каталогов и файлов для этих URL-адресов, потому что URL-адреса генерируются cms ... поэтому я думаю, что правило перезаписи невозможно? но я попробовал redirectmatch, и это сработало ... – tom84

ответ

0

У вас есть проблемы с логикой вашего правила перезаписи. Попробуйте вместо этого:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^firma/stadt/(.+)$ /firma/stadt/ [L,R=301] 
</IfModule> 

Причины:

  1. согласно вашему собственному описанию URL-адреса этих объектов к не носить «расширение имени файла» в них http://www.domain.de/firma/stadt/adresse. Поэтому правило, ожидающее такого, никогда не будет соответствовать.

  2. ведущая косая черта (/) в шаблоне математики не имеет никакого смысла в правилах стиля .htaccess, поскольку эти работы относятся к относительным путям.

Также вы должны позаботиться о том, где разместить этот файл стиля htaccess.

Общее примечание: файлы стиля .htaccess следует использовать, если вам действительно нужно. Типичная ситуация может возникнуть, если у вас нет доступа к конфигурации http-серверов. В противном случае вы всегда должны ставить такие правила внутри конфигурации хоста http-серверов. .htaccess файлы стиля, как известно, подвержены ошибкам, трудно отлаживать и действительно замедлить работу сервера.

Смежные вопросы