2010-10-27 4 views

ответ

3

Путь, который сразу приходит на ум:

RewriteEngine on 
RewriteBase /path/to/your/web/app 
RewriteRule ^Blog$ blog [R=301,L] 
RewriteRule ^Blog/(.*)$ blog/$1 [R=301,L] 

Есть, вероятно, гораздо более эффективные способы, чем mod_rewrite, и я не уверен на 100%, что внешние переадресовывает будут работать, как они должны - вы, возможно, потребуется полный URL-адрес, но там вы идете.

2

Это самое простое решение .htaccess, поместите его в /.htaccess:

Redirect 301 /Blog /blog 

Но это на самом деле ограничены. Если вы хотите, чтобы поймать все возможные случаи мудры опечатки, а также пересылать любые другие данные пути (например, /Blog/foo/bar.html), используйте вместо этого:

RedirectMatch 301 ^/[Bb][Ll][Oo][Gg](?<!blog)(/.*)?$ /blog$1 

Для получения дополнительных возможностей, есть full .htaccess generators доступный.

Или вы можете использовать ModRewrite-based rules для максимальной гибкости, но это, вероятно, перебор.

+0

Ваш второй пример также будет соответствовать '/ blog' в любой позиции. – Gumbo

+0

Очень правильно - я бросился слишком быстро нажимать «Добавить ответ». Спасибо, что указали! REGEX исправлен. –

+0

Да, действительно, этот способ лучше, чем все знаменитый: «Некоторые люди, столкнувшись с проблемой, думают:« Я знаю, я буду использовать регулярные выражения ». Теперь у них есть две проблемы». – Necronet