Показать полную графическую версию : .htaccess
нужно ли править что в httpd.conf чтобы
RewriteRule работал?
Vlad Drakula
16-07-2004, 19:16
Negativ
наверное это очевидно, ты бы не мог более прожробно рассказать...
что то "RewriteRule" у меня в памяти ни чсем не ассациируется...
Surround
16-07-2004, 19:21
Negativ
вроде бы тольки .htaccess править надо...
vadimiron
16-07-2004, 19:44
Negativ
Надо в httpd.conf раскомментировать следущую строку:
LoadModule rewrite_module modules/mod_rewrite.so
Ну и соответственно, нужно чтобы сам модуль лежал в папке modules и назывался mod_rewrite.so
Этот модуль уже давно соединён с апачем, так что я думаю он по умолчанию включен, в конце концов можно маленький тестовый скрипт написать и всё
Vlad Drakula
16-07-2004, 21:13
Surround
по Линуксорм .htaccess под Виндой httpd.conf
vadimiron
16-07-2004, 21:30
Vlad Drakula
А я не понимаю, под линуксом этот процесс по другому выглядит??
httpd.conf отвечает за общие настройки, настройки для всех папок и тд
.htaccess же за правила для отдельных папок, с его помощью можно создавать исключения из общих правил, установленных с помощью httpd.conf
Ведь httpd.conf исполнается при включении апача, а .htaccess только при вызова определённой директории, то есть какой то модуль должен включаться из httpd.conf, так как любое такое включение требует дополнительной памяти, и модуль должен уже быть в памяти, чтобы исполналось то, что в .htaccess написано.
По крайней мере у меня так в Виндах выглядит
Vlad Drakula
16-07-2004, 22:00
vadimiron
в линуксе и главный файл называется .htaccess.
( если мне не изменяет память )
Vlad Drakula
изменяет :o
.htaccess - в любой системе - файл, задайющий конкретные настройки каталога (если глобальные настройки позволяют им пользоваться)
по поводу включения модулей vadimiron совершенно прав -на ходу их не пристегивают и не отстегивают :)
Модули апачи под unix подключаются путем включения (или раскомментирования) соответствующих строчек в основном файле конфигурации httpd.conf (совсем, как в виндах, вернее, чтоб быть более точными, в виндах, как в *nix, т.к. apache под *nix все-таки первичен :))
Однако, насколько я понимаю, вопрос *Negativ был не о том, как включить модуль mod_rewrite, а о том, как подключить правила? В общем виде правила, насколько я понимаю, *подкючаются именно через .htaccess, хотя возможны более сложные варианты. Вот, на мой взгляд - очень приличная документация (http://www.opennet.ru/docs/RUS/mod_rewrite/), а вот тема на этом форуме (http://forum.oszone.net/topic.cgi?forum=20&topic=970&start=0#0) по этому модулю (была предложена, кстати, *в свое время vadimiron :)) httpd.conf, как уже сказано, правят не для включения правила, а для подключения самого модуля.
Если требуется что-нибудь более конкретное - тогда с конкретными вопросами и примерами, pls :)
Исправлено: mar, 15:23 17-07-2004
vadimiron
мдя... по ходу у меня apache собран без модулей. =(
vadimiron
19-07-2004, 13:57
Negativ
Да это несложно: скачать из инета модуль и положить его поближе к апачу (верней в папку с ним-желательно в папку под названием modules), а в httpd.conf активировать следущую строку LoadModule rewrite_module modules/mod_rewrite.so
Добавлено:
Если нужно я могу на почту отправить, файл естественно маленький, всего 44 кб
vadimiron
посмотрел через Webmin модуль mod_rewrite прикручен к Apache. Но! В файле httpd.conf отсутствует всякое упоминание об этом модуле. Почитал вот эту (http://www.egoroff.spb.ru/portfolio/11.html) статью. Сделал так как написано. Все равно не работает.
и еще собирал апач не я и поэтому я не знаю каким образом скомпилирован модуль mod_rewrite для статической или динамической загрузки.
Исправлено: Negativ, 9:18 21-07-2004
Еще вот нашел конфиг *компиляции апача:
./configure --prefix=/usr/local/apache --with-layout=Apache --enable-module=rewrite --enable-module=so
Исправлено: Negativ, 10:03 21-07-2004
текст .htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/$ [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*) /default.php/$1
Исправлено: Negativ, 14:24 21-07-2004
Negativ
если речь зашла о компиляции apache, - у Вас какая система (ос)?
Negativ
а ./configure от компиляции того что нужно, там где нужно?
если запустить phpinfo() то много интересного можно посмотреть в секции Loaded Modules
1) если модуль имеется (Loaded Modules), то его
2) надо подключить в httpd.conf
3) там же надо обеспечить возможность включения директив .htaccess AllowOverride All
4) а потом какой-нибудь очень простой тест в .htaccess поместить
если модуль отсутствует, собрать его из портов (или пересобрать апач с ним) (по ходу: какая версия FreeBSD и какая версия apache?), а дальше см выше :o
mar
Модуль включен в Apache.
на самом сайте стали присутствовать ссылки такого вида:
_http://new.***.ru/65/?PHPSESSID=922ace8690b88f0b07d90b3e8b70c0b4
Причем каталоги /65/ вообще отсутствуют. Там была статичная копия страниц сайта, т.е. не генерируемых. После нескольких обновлений главной страницы, ссылки приобретают вид
_http://new.***.ru/65/
FreeBSD 4.8
Apache 1.3.27
Исправлено: Negativ, 17:32 23-07-2004
Исправлено: Negativ, 17:34 23-07-2004
Причем каталоги /65/ вообще отсутствуют.
все правильно! это как раз работа искомого модуля :) одна из возможностей - создавать в url этакие виртуально-ссылочные псевдокаталоги , чтобы избавиться от ссылок со знаком вопроса и парами переменная-значение. Считается, что это лучше удовлетворяет ряд поисковиков, чем обычная система. (а некоторые вообще считают, что так эстетичней :))
то есть джин жив и работает, остается понять как и научиться им управлять :biglaugh:
(тогда вопросы о версиях снимаю - не актуально)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.