2016-12-01 2 views
1

мне нужно переписать правила для следующих страниц:правило перезаписи для нескольких страниц на одной странице

/blog/2015/09/05/name-of-page.html 
/old-category-name/name-of-page/ 
/old-category-name/name-of-page 

Все необходимое для перенаправления /-категория имя нового/имя-страницы/

Но также могут быть имена файлов, такие как /old-category-name/name-of-page-two, которые будут перенаправлены на/new-category-name/name-of-page-two/

Я пришел со следующим регулярным выражением:

(\blog\/\[0-9]{4}\/[0-9]{2}\/[0-9]{2}\/|old-category-name)\/\/name-of-file(\.html|\.htm|\/|\s) 

Он работает в Regex Pal, но следующий редирект не работает в моем файле Htaccess:

Rewrite Rule (\blog\/\[0-9]{4}\/[0-9]{2}\/[0-9]{2}\/|old-category-name)\/\/name-of-file(\.html|\.htm|\/|\s) http://example.com/new-category-name/name-of-file/ 

Может кто-нибудь дать мне несколько советов? Благодаря!

ответ

0

Вы должны исправить регулярное выражение и общий синтаксис:

RewriteEngine On 

RewriteRule ^(?:blog/\d{4}/\d{2}/\d{4}|old-category-name)/(name-of-page)(?:\.html|/)?$ /new-category-name/$1/ [L,NC,R=301] 
+1

Привет, только что видел ваш комментарий сегодня и будет вне офиса завтра. Я попробую это и оставлю свои комментарии в субботу Спасибо! – user1388610

+0

Я немного поправился – user1388610

+1

Ooops ... Извините, мне потребовалось столько времени, чтобы вернуться к этому! Я немного пересмотрел ваш, чтобы избежать косой черты перед именем страницы и переработал последний бит (?: \. Html | \/| \ s). Я думаю, вы просто пропустили их. Оно работает!! :-) – user1388610

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