PDA

Просмотр полной версии : Apache и RewriteRule


Chaak
21.08.2008, 11:40
Решил сделать чпу но чегото не получается:
RewriteRule ^install$ install.php [L]
При запросе к /install появляется 404 ошибка. mod_rewrite включен. Подскажите в чем может быть проблема..
http://s52.radikal.ru/i138/0808/04/3bdc417a0021.png (http://www.radikal.ru)

n1†R0x
21.08.2008, 11:42
по логике вещей все верно, только что у себя проверил.
mod_rewrite точно включен? уже были успешные случаи его использования?

в httpd.conf директива
AllowOverride
должна быть установлена со значением All, чтобы .htaccess мог изменять любые параметры.

disc
21.08.2008, 11:47
Может скажу глупость, но файл install.php лежит там же где и .htaccess ? :)

Chaak
21.08.2008, 11:51
Может скажу глупость, но файл install.php лежит там же где и .htaccess ? :)
Да хоть куда его не клади...
На локалхосте тоже самое :(

disc
21.08.2008, 11:52
RewriteEngine on
Есть такая запись над правилом?

Весь .htaccess скинь чтобы было понятнее

Chaak
21.08.2008, 11:55
RewriteEngine on
Есть такая запись над правилом?

Весь .htaccess скинь чтобы было понятнее
Спасибо помогло

disc
21.08.2008, 11:58
Бывает :)

temp_late
04.09.2008, 15:02
А могут еще какие нибудь причины по каторым модуль не срабатывает?
Сборка: Apache/2.0.55(win32) PHP/5.1.0 под виндовс хп

phpinfo();
Loaded Modules:

core mod_win32 mpm_winnt http_core mod_so mod_php5 mod_access mod_actions mod_alias mod_asis mod_auth mod_autoindex mod_cgi mod_dir mod_env mod_imap mod_include mod_isapi mod_log_config mod_mime mod_negotiation mod_rewrite mod_setenvif mod_userdir

http.conf

<Directory "c:/webserver/www">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>

.htaccess

#second
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

index.php
<?php
echo $_SERVER['REQUEST_URI'];
phpinfo();
?>

При включение в .htaccess
RewriteEngine on

В браузере отображаеться ошибка веб сервера:


Forbidden

You don't have permission to access / on this server.
Apache/2.0.55 (Win32) PHP/5.1.0 Server at localhost Port 80

Dr1ver
04.09.2008, 15:38
ХЗ не силён в этом вопросе.
Лично я юзаю так:


RewriteEngine On
RewriteRule !.(gif|jpg|png|js|css|htm|html|swf|rtf|doc|txt)$ index.php




В скобках расширения файлов-исключений

temp_late
04.09.2008, 15:50
Спасибо за выражения, нужная вещь, искал я эти исключения но без успешно.
А у тебя какой вебсервер, комплект?

Пробовал Top Server ставить, вроде все хорошо, но модреврайт там тоже не получился, а у правайдерского на платном хостинге скрипт работаеют. Может версия старая на модреврайт.. Правда на топ сервере у меня перестали создаваться виртуальные хостинги, какойто глюк, в файлах вроде все создает, а через http не хочет видеть..

Dr1ver
04.09.2008, 16:04
Везде работает 100%

temp_late
04.09.2008, 16:36
Вообщем вылечил это так:
httpd.conf:
<Directory "c:/webserver/www">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>

изменил на:
<Directory "c:/webserver/www">
AllowOverride All
</Directory>
Все заработало, правда что означают те строки которые я стер так и не понял.. Может кто знает что они означают ради интереса, какаято из них блокировала мод реврайт.