• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Использование модуля Mod_rewrite

  • Автор темы Egorych
  • Дата начала
E

Egorych

Имеется файл .htaccess следующего содержания:

Options Includes +ExecCGI
AddType text/x-server-parsed-html .html
<Files ~ (\.pl)>
Options ExecCGI FollowSymLinks
</Files>

ErrorDocument 404

Options +FollowSymLinks +SymLinksIfOwnerMatch

RewriteEngine On

RewriteBase /

RewriteRule ^bannerf(.*) /index.php?banner=$1 [L]

RewriteRule ^banner2/place(.*) /index.php?banner=2&place=$1 [L]

Так вот первое правило RewriteRule работает идеально. А второе отображает нужную страницу, но не предает форматирование текста (задано с помощью css) и не подгружает графику. Такое ощущение что перепутана корневая директория. Но ведь установлена RewriteBase /.

Помогите пожалуйста, кто знает почему не работает правило №2
 
E

Egorych

Извиняюсь. Никто не может помочь? Очень нужно! Абсолютно не понятная ситуация.
Делаю сайт с помощью "Денвера" на домашнем компе. ОС Windows. Выставлял на хост там проверял такая же ерунда.
Почему не работают правила когда передаются 2 и более значений?
 
S

slayer

Попробуйте не указывать RewriteBase /
Вы ведь не используете субдиректорию ?

Изменять RewriteBase нужно только тогда, когда ваш сайт находиться в субдиректории, или используете VirtualDocemntRoot
 
E

Egorych

Наличие или отсутствие RewriteBase / ситуацию не изменило. Попробую разобраться с директивой VirtualDocemntRoot. Однако по первым же фактам ясно что настройка с помощью этой директивы происходит в конфигурационном файле httpd.conf, который на хостинге не доступен. Вот вроде есть инфа о конфигурировании виртуальных хостов в файле .htaccess. Щас буду разбираться.
 
E

Egorych

Наверху. Первое мое сообщение. RewriteBase / закомментировал.
Кстати, не подскажите как происходит конфигурировании виртуальных хостов в файле .htaccess?
 
E

Egorych

slayer, отдельное спасибо. Я разобрался что к чему.
Во-первых slayer извините, что я не правильно понял Ваш ответ по поводу настройки виртуального хоста. Я пустился его настраивать, хотя Вы имели ввиду, что как раз его то - этого конфигурирования - как раз и не должно быть. Это я понял, когда начитался всякой мути по поводу модуля mod_vhost_alias.
Во-вторых ошибка моя заключалась совсем в другом. Адресация в коде HTML, например, для файла css была такая:

<link rel="stylesheet" type="text/css" href="site.css">

То есть без указания корневого слеша. Сделав вот так:

<link rel="stylesheet" type="text/css" href="/site.css">

Я поймал форматирование текста. Ну и поменяв адреса у картинок и всех подгружаемых модулей у меня все получилось.

Как гора с плеч упала!
 
S

slayer

Кстати, не подскажите как происходит конфигурировании виртуальных хостов в файле .htaccess?

Я признаюсь ...незнаю я как править в .htaccess
но вот знаю как в site-available (.conf файлах)

ЗЫ Очень рад за вас, жаль конечно что не помог :D
Кстати да, /*.html это означает ,как сказал К.О корневую директорию (и поиск будет происходит в здесь ! ). В случае если не указывать / то тогда, опять таки как говорит К.О поиск будет происходит в директории где лежит основной документ, который указывает src (то есть док лежит и src к файлу css указанно как 'style.css', тогда style.css должен быть в , ну и соответственно повторюсь, если в index.php указанно '/style.css' то style должен быть по адресу )

PSS Ну и устроил демагогию, понятно что ничего не понятно, прощу прощения.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!