Помощь с перенаправлением 301 (простая концепция, для каждого элемента управления каталогом)

StackOverflow https://stackoverflow.com/questions/1873044

  •  18-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь заставить работать набор из 301 перенаправлений на клиентском сайте, и я немного застреваю.

У меня около 17 различных каталогов с файлами содержимого .html, которые я переношу в Wordpress.Я пытаюсь создать простой отдельный файл .htaccess с перенаправлениями, который позволит мне перенаправить все файлы .html в каталоге на URL-адреса WordPress без расширения:

Пример ручного перенаправления:

перенаправление 301 /blog/2009/04/post1.html /blog/2009/04/post1/
перенаправление 301 /blog/2009/04/post2.html /blog/2009/04/post2/

Попытка создать правило типа:

RewriteRule ^/blog/2009/04/(.*?).html$ /blog/2009/04/$1/ [R=301,NC,L]

Где $1 — это имя файла (без расширения .html) с суффиксом /

Я не могу определить, означает ли ^/blog/2009/04/(.*?).html$, что он будет перенаправляться только на этот конкретный каталог и будет перенаправляться в нужное место.

Я, очевидно, хотел бы продублировать это ReWriteRule для всех назначенных мной каталогов контента...

Может кто-то указать мне верное направление?

Спасибо,

Ли

Это было полезно?

Решение

Да, ваше правило будет перенаправлять только для 2009/04 каталог.Я думаю, вы хотите:

RewriteRule ^/blog/([0-9]+)/([0-9]+)/(.*?).html$ /blog/$1/$2/$3/ [R=301,NC,L]

Теперь это также будет перенаправлять /blog/2008/12/post.html к /blog/2008/12/post/ и так далее.Хотя раз у вас почти точно такой же формат, может так будет проще?

RewriteRule ^/blog/(.*?).html$ /blog/$1/ [R=301,NC,L]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top