mod_rewrite не работает на Apache 2.x

eof76

Новичок
mod_rewrite не работает на Apache 2.x

Цель:

заменять адреса вида
http://host/tables/view
на адреса вида
http://host/index.php?r=tables/view

Делаю через mod_rewrite.
Файл .htaccess:


RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?r=$1 [L,QSA]


На апаче 1.3.х работает все нормально, на версиях от 2.х не работает, в чем могут быть грабли?
 

eof76

Новичок
Был я там, по этим записям и составил это правило, оно же работает на 1.3 :(
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
eof76
1. htaccess разрешён?
2. FollowSymlinks?
 

AmdY

Пью пиво
Команда форума
в догонку предудыщему совету, а mod_rewrite - подключён ? ;)
 

Сергей Тарасов

Профессор
Wicked

Да нет, под Линуксом в последних дистрибутах апач нужно собирать с мод-реврайтом через ключ. Автоматом модуль не собирается.

-~{}~ 22.06.07 11:12:

eof76

Что значит "Не работает" ??? Простейшую замену выполняет? Или совсем ничего нет?
 

Wicked

Новичок
Сергей Тарасов
тогда разве оно не должно падать при встрече неизвестной директивы RewriteEngine ?
 

eof76

Новичок
Сергей Тарасов

Не выполняет никаких замен, если обратиться просто
http://host открывается страница по умолчанию, т.е. index.php, но это стандартное поведение, тут mod_rewrite не причем, а если
http://host/tables/view, то 404 Object Not Found

файл index.php
PHP:
<?php
  if (isset($_GET['r']))
    echo 'r='.$_GET['r'];
  else
    echo "none";
?>
В случае нормальной работы должно быть напечатано

r=tables/view

или по умолчанию

none


P.S. mod_rewrite подключен
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Пишем в htaccess
Deny from All
Смотрим, если сработало

Шаг №2
2.
RewriteEngine on
ReriteRule ^thetest/?$ / [R]

Проверяем
при запросе вида
http://sitename/thetest/
или
http://sitename/thetest
должен сработать редирект на корень сайта

Если не сработает значить и реврат не работает
 

eof76

Новичок
Mr_Max
Не думай что я настолько туп :)

Я это уже всё проверил, еще раз повторяю

.htaccess разрешен
mod_rewrite включен и работает

-~{}~ 22.06.07 14:59:

Фууу, разобрался, оказалась, что тупинка во мне всё таки есть :(

для абстрации в вопросе я привел простые ссылки вида

http://host

на самом деле ссылки более сложного вида
http://localhost/~user/

И вот из-за этого ~user/ были траблы.

При добавлении в .htaccess

RewriteBase /~user/

Всё стало ОК.

Спасибо всем кто пытался помочь :)
 
Сверху