Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Проблема с mod_rewrite


Автор: lasalexx 2.1.2008, 11:03
Поздравляю всех с новым годом!

Может я не в том разделе спрашиваю, но на этом форуме я не нашёл подходящего раздела.
Хочу ссылку
http://localhost/flashintro/friends/
поменять на
http://localhost/flashintro/index.php?a=friends

создал вот такой .htaccess в папке localhost/flashintro

Код

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule friends/?$ ./index.php?a=friends [NC,L]


адрес меняется, но на странице я использую условные адреса к картинкам, к css файлу и к различным ссылкам сайта.
адрес css файла меняется (то есть находит файл http://localhost/flashintro/style.css), но адреса картинок, js файла и других html страниц берутся условно относительно папки friends. (то есть http://localhost/flashintro/friends/...)
Можно ли изменить условные адреса всех файлов?

Автор: flashaa 2.1.2008, 12:50
Цитата(lasalexx @  2.1.2008,  11:03 Найти цитируемый пост)
Можно ли изменить условные адреса всех файлов? 

В контроллере (index.php) можно расчитать "настоящий" http-путь к папке, используя $_SERVER['PHP_SELF'] , 'DOCUMENT_ROOT'  и тд.
Дальше можно написать префикс ко всем включаемым файлам, таким образом, что пути будут абсолютными.
Код

echo HTTP_ROOT . 'style.css';

Автор: lasalexx 2.1.2008, 18:28
а с помощью mod_rewrite нельзя?
А то не охота переписывать все адреса.

Автор: Vaulter 2.1.2008, 19:00
можно, если они будут указаны путем от DOCUMENT_ROOT, то есть, грубо
/css/style.css
^
+------------- "/" в начале =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)