2016-04-21 2 views
1

Я работаю над веб-сайтом Drupal для преобразования Wordpress для клиента, а на сайте есть много контента. Более 300 страниц и 750 сообщений в блогах.301 redirects Конфигурация htaccess

Я ищу перенаправление .htaccess 301 для сообщений в блоге, но выполнение 750 различных 301 перенаправлений кажется ужасно неэффективным. Я уже кусаю пулю на 300 страниц.

Есть ли правило перезаписи, которое я могу использовать для перезаписи следующего URL-адреса?

Redirect 301 http://website.org/blog/YYYY/MM/DD/Post-title 

to http://website.org/blog/Post-title/ 

Даты идут с 2016 по 2008

Прежде чем инвестировать несколько часов в на URL основе, я хочу увидеть, если есть условие переписывают/править я могу использовать.

Спасибо!

+0

Это идеальная проблема для регулярного выражения. Я настоятельно рекомендую изучить их, если вы вообще программируете. Книга O'Reilly «Освоение регулярных выражений» отлично подходит, если вы хотите очень тщательного руководства. – Flimm

ответ

1

Это следует сделать это:

RewriteRule ^blog/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)?$ /blog/$4 [R=301,L] 

Это соответствует "4 цифры/2 цифры/2 цифры/все" и перезаписывает такие запросы "/ блог/все".

+0

Ничего себе. Если это сработает ... Ты - герой, играющий в обеденный перерыв! :) Если бы я хотел добавить конечную косую черту в конце, все, что я делаю, это добавить/после $ 4? – Zaeo

+0

Ах. Я сделал ошибку, исправляя исходный пост. http://website.org/blog/YYYY/MM/DD/post-title к http://website.org/blog/post-title :/ – Zaeo

+0

Am я исправить удалением/блог из переписать правило, поскольку оно уже существует? так было бы: RewriteRule^([0-9] {4}/(0-9) {2}/(0-9) {2}/(. *)? $/$ 4 [R = 301, l] ? – Zaeo