.htaccess 301 перенаправляет часть URL-адреса

#apache #.htaccess #redirect

#apache #.htaccess #перенаправление

Вопрос:

Я перепроектирую свой веб-сайт и в процессе реструктурирую часть структуры ссылок.

Для выполнения постоянных перенаправлений я использую следующий код (.htaccess)

 RedirectMatch permanent old-link($|.html) http://thedomain.com/new-link.url
  

Я использую CMS и изменение ссылки для категории изменяет путь к URL-адресу следующим образом:

 thedomain.com/old-category-link/old-article-url.html
  

Для

 thedomain.com/new-category-link/old-article-url.html
  

Как я должен кодировать (.htaccess) перенаправление любого URL-адреса, который имеет

 thedomain.com/old-category-link
  

(т.е.

 thedomain.com/old-category-link/old-article.html
thedomain.com/old-category-link/old-article-2.html
thedomain.com/old-category-link/old-article-999.html
  

)

Для

 thedomain.com/new-category-link/any-articles-old-url.html
  

Спасибо

Ответ №1:

Не совсем уверен, на что вы просите перенаправить, но это что-то вроде этого?

 RedirectMatch permanent old-category-link(.*) http://thedomain.com/new-category-link$1
  

Это сделает так, если кто-то запросит:

  1. http://thedomain.com/old-category-link они будут перенаправлены на http://thedomain.com/new-category-link
  2. http://thedomain.com/old-category-link / они будут перенаправлены на http://thedomain.com/new-category-link /
  3. http://thedomain.com/old-category-link/article1.html они будут перенаправлены на http://thedomain.com/new-category-link/article1.html
  4. http://thedomain.com/old-category-link/article50.html они будут перенаправлены на http://thedomain.com/new-category-link/article50.html

Комментарии:

1. Да, вы поняли мой вопрос. И да, ваш ответ работает. Спасибо.

Ответ №2:

Для меня ответ не сработал. Вот что работает с моим сайтом WordPress.

Пример:

 OLD URL: http://website.com/xxx/yyy/picture.png
NEW URL: http://website.com/wp-content/picture.png
  

Итак, я хочу заменить /xxx/yyy/ на обычный /wp-content/ path WordPress .

Поместите это в свой файл .htaccess.

 RewriteEngine on
RedirectMatch 301 /xxx/yyy/(.*) http://website.com/wp-content/$1