#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/