[php, html?] смена директории для относительных путей
У меня такая проблема: через файл .htaccess я при помощи ErrorDocument перенаправляю все адреса на index.php...там планируется извлекать из адреса нужные параметры, например http://mysite.ru/en/products/ в общем вам понятно, типа ЧПУ.
проблема в том что, все картинки, js, css у меня указаны через относительный путь, ну типа /img/pic.jpg А после htaccess файлы ищутся относительно указанного урл, в данном случае http://mysite.ru/en/products/img/pic.jpg Примерно так. Помогите функцией или как это избежать...может какая-нибудь есть функция для смены корневого каталога для html, а не самого php (chdir и т.д. не катят) абсолютные пути указывать не хочется. |
Укажите в htaccess чтобы RewriteRule не работал на картинки и на нужные форматы не распространялся.
Типа так: Код:
RewriteRule ^(.*).jpg$ - [L] |
спасибо за ответ.
дело в том, что я не использую способ mod_rewrite, я решил это делать через ErrorDocument... поэтому правило для реврайта тут не прошло :( есть ещё идеи? update: ещё заметил странность такую: если например путь такой http://mysite.ru/en или любой другой адрес только с одним указаным каталогом, например http://mysite.ru/bla-bla-bla, то всё нормально работает, пути правильные. Но если уже глубже, то есть http://mysite.ru/en/catalog/, то всё сбивается и не отображаются ни картинки, ни css, ни js и т.д. :( update #2: а если дописать к концу слеш http://mysite.ru/en/ пути так же сбиваются, а без слеша работает (только для одного каталога) |
ErrorDocument предназначен для совершено другого. http://httpd.apache.org/docs/2.0/mod...#errordocument
Меняйте относительные пути на пути от рут каталога. |
проблему решил путем ерег-реплейсом всех относительных путей...
но, как вы отметили, screamge, ErrorDocument - не выход, т.к. ПОСТ-данные не передаются, следовательно поиск с фидбеком не пашут. теперь решил перейти на мод_реврайт...с регулярными выражениями у меня не хорошо, мягко говоря. Помогите пожалуйста составить правила для преобразования следующих ссылок: hxxp://www.test1.ru/en → hxxp://www.test1.ru/?l=en hxxp://www.test1.ru/en/ → hxxp://www.test1.ru/?l=en (повторяюсь, потому что со слешом ведет себе иногда по другому) hxxp://www.test1.ru/en/about → hxxp://www.test1.ru/?l=en&main_cat=about hxxp://www.test1.ru/en/about/clients → hxxp://www.test1.ru/?l=en&parent_cat=about&main_cat=clients |
если это все, то прям так и пишите
|
нет, это далеко не всё... нужно что-то на подобе такого:
Код:
RewriteRule (.*)/(.*)$ /index.php?l=$1&main_cat=$2 Код:
RewriteRule (.*)/(.*)/(.*)/$ /index.php?l=$1&parent_cat=$2&main_cat=$3 |
Часовой пояс GMT +4, время: 12:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.