Создание ЧПУ-ссылок: проблема с отображением картинок на страницах при использовании редиректа через mod_rewrite

apache htaccess чпу rewriterule mod-rewrite

Есть сайт с кучей статических страниц.
Нужно быстро сделать редиректы со страниц http://www.site.com/page.html на http://www.site.com/page/

Я использую следующую конструкцию:

RewriteEngine on
RewriteBase /

RewriteRule ^page1/$ page1.html [L]
RewriteRule ^page1$ page1.html [L]

При урл вида: http://www.site.com/page1 — всё ок. Но при добавление слэша на конце http://www.site.com/page1/ — картинки на странице не отображаются (прописаны относительные пути). Можно ли сделать так, чтобы картинки при таком редиректе отображались на страницах как по ссылке: http://www.site.com/page1.html так и по ссылке http://www.site.com/page1/ ?

Примечание:
@Proboinik
Это понятно. Вопрос в том, можно ли исправить это несколькими строчками в htaccess, не изменяя сотни относительных линков в куче html файлов.

Примечание:
Проблема была в том, что все линки были вида src="images/1.jpg", а не src="/images/1.jpg" (со слэшем в начале).
Помогло прописывание в head <base href="/" />
Ответы:
сделайте обратную замену
проблема в том, что браузер не знает что он смотрит страницу  http://www.site.com/page.html, он думает что это страница http://www.site.com/page/index.html поэтому картинки ищет в http://www.site.com/page/image.jpg
Нужно прописать адрес картинки абсолютно, а не относительно. т.е. <img src=" http://www.site.com/image.jpg">
...
<head>
<base href="http://www.mysite.ru/" />
</head>
...
помогло


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.