Переписывание .htaccess - URL с многоуровневыми каталогами - PullRequest
1 голос
/ 10 октября 2011

У меня есть страница deal.php, которая находится в корневом каталоге, доступ к которому осуществляется по ряду внутренних URL-адресов с несколькими уровнями каталогов.например, к этой странице будут обращаться оба следующих URL.

http://domain/flights/asia/bangkok
http://domain/flights/bangkok

Я использую этот код в .htaccess для перенаправления на deal.php

    Options +FollowSymlinks
    RewriteEngine on

    RewriteRule ^flights/asia/([^/]+)/?$ deals.php?country=$1 [NC]
    RewriteRule ^flights/([^/]+)/?$ deals.php?country=$1 [NC]

Теперь проблема заключается в следующемчто на сайте deal.php все изображения, файлы сценариев и таблиц стилей открываются неправильно.Если я попытаюсь исправить это для одного URL, поместив ../../ в адреса всех изображений, сценариев и CSS, он не будет работать для других URL.

Как решить эту проблему?какие есть варианты?

Ответы [ 2 ]

1 голос
/ 10 октября 2011

Легко: НЕ использовать ../ в ссылках на любые ресурсы (изображения / css / js / и т. Д.) - всегда использовать URL-адрес относительно корня ВЕБ-САЙТА -- это «требование», когда вы имеете дело с красивыми / нереальными / переписанными URL-адресами, так как такой URL-адрес редко указывает на физическое местоположение файла.

Предположим, у вас есть логотип, расположенный на http://www.example.com/images/logo.png.

Теперь вместо ../images/logo.png и / или ../../images/logo.png ВСЕГДА используйте /images/logo.png.

0 голосов
/ 05 декабря 2011

я думаю, что вы хотите разместить baseurl на html-странице, поэтому весь относительный путь будет связан с baseurl, а не с текущим URL на панели навигатора

...