Работаете одновременно на жестком диске с относительными URL-адресами и MOD REWRITE?

0

Скажем, я работаю над сайтом в папке c:\website.

Если у меня есть относительные URL-адреса в моем page.html например:

<img src="images/logo.gif">

Это будет хорошо работать, когда я просматриваю страницу на своем жестком диске, и если я загружу его в Интернете.

Но так как я хочу использовать переписывание URL, скажем, мой.htaccess имеет следующую строку:

RewriteEngine On
RewriteRule ^folder1/folder2/?$ page.html [L]

Итак, теперь страница будет индексироваться в Google как domain.com/folder1/folder2/ (это то, что я хочу)

Но тогда онлайн файл будет искать domain.com/folder1/folder2/images/logo.gif, которого, конечно, не существует.

С другой стороны, если я добавлю / в мои относительные URL-адреса, например:

<img src="/images/logo.gif">

В онлайн файле будет поиск domain.com/images/logo.gif который хорош, но я не смогу просмотреть файл на своем жестком диске, поскольку он будет искать:

c:\images\logo.gif пока файл находится на c:\website\images\logo.gif

Есть ли способ сделать этот файл должным образом как на моем жестком диске, так и на веб-сайте с таким типом правила перезаписи URL?

  • 0
    Вообще говоря, ваша среда разработки должна максимально отражать вашу производственную среду. В противном случае вы всегда будете иметь противоречия
Теги:
.htaccess
mod-rewrite
url-rewriting

1 ответ

1

Вам определенно нужно использовать абсолютные URL для ваших изображений, т. <img src="/images/logo.gif">

Затем вы можете создать такое правило, чтобы справиться с проблемой localhost:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(images/.+)$ /website/$1 [L,NC,R]

Это правило будет срабатывать только тогда, когда изображение не будет найдено (то есть на локальном хосте), но не будет запускаться на реальном сервере, поскольку изображение будет найдено.

  • 0
    С какой программой можно запустить файл htaccess? сейчас я просто работаю с Dreamweaver и просматриваю файлы с помощью моего браузера из папки, нет .htacess не запускается ...
  • 0
    Но у вас уже есть .htaccess, как показано в вашем вопросе, верно? Каково расположение этого .htaccess в корне ИЛИ в /website/ ?
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню