удалить часть и добавить каталог к URL с помощью htaccess

#regex #apache #.htaccess #mod-rewrite

#регулярное выражение #apache #.htaccess #мод-перезаписать

Вопрос:

Просто интересно, как я могу переписать это

 http://www.domain.com/wp-content/uploads/image-name.jpgamp;h=amp;w=240amp;zc=1
  

в это

 http://www.domain.com/directory/wp-content/uploads/image-name.jpg
  

используя .htaccess.

объединить

Удаление последней части не так сложно, но как совместить это с добавлением каталога.

Спасибо

Ответ №1:

Создайте новый /wp-content/uploads/.htaccess файл и поместите это правило:

 RewriteEngine On
RewriteBase /wp-content/uploads/

RewriteRule ^(. ?)amp;.*$ /wordpress/wp-content/uploads/$1? [L,NC,R=301]
  

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

1. Я сделал именно то, что вы сказали, и подумал, что это сработает, потому что это такое простое решение, но оно не перезаписывается. Однако другие перезаписи в корневом htaccess работают. Что может быть причиной, по которой он не перезаписывается. Спасибо

2. /wp-content/uploads/.htaccess Уже есть какие-либо правила? Если да, то опубликуйте их здесь. Также /wp-content/uploads/ присутствует в 2 местах сейчас?

3. У меня есть .htaccess в корне. Затем есть .htaccess в каталоге wordpress (где установлен WordPress). Я создал каталог wp-content / uploads в корневом каталоге, поскольку он не существовал, и добавил ваш .htaccess туда. В каталоге WordPress есть wp-content / uploads без файла .htaccess. Я проверил все файлы на наличие слова «содержимое», но ни в одном из них его нет. Кроме того, что в ваших строках.

4. Итак, путь к файлу изображения из корня документа /wordpress/wp-content/uploads/ вместо /wp-content/uploads/ ?

5. Путь к старому изображению (которого больше нет в папке uploads) — /wp-content/uploads/. Путь к новому изображению — /wordpress/wp-content/uploads/