Вопрос о mod_rewrite и .htaccess ?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

FastCat
Сообщения: 49

Вопрос о mod_rewrite и .htaccess ?

Сообщение FastCat »

Bопрос комплексный и касается mod_rewrite и .htaccess ?
Верней, как заставить mod_rewrite работать только в одной директории на сервере ?

Вот кусок моего httpd.conf

Код: Выделить всё

# forbid access to the entire filesystem by default
<Directory />
    Options None
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>



При таком раскладе файлы .htaccess с правилами для mod_rewrite вызывают на сервере 500-ю ошибку.

Собственно, что надо добавть в httpd.conf что бы mod_rewrite и .htaccess работали в директории /home ?

Код: Выделить всё

<Directory "/srv/www/home">
.....
.....
.....
</Directory>
Спасибо сказали:
Аватара пользователя
MadDog
Бывший модератор
Сообщения: 2298
Статус: Добрый банщик

Re: Вопрос о mod_rewrite и .htaccess ?

Сообщение MadDog »

FastCat писал(а): ↑
04.10.2007 13:12
При таком раскладе файлы .htaccess с правилами для mod_rewrite вызывают
Неплохо бы показать этот самый .htaccess

Попробуйте написать так:

Код: Выделить всё

<Directory />
    AllowOverride all
</Directory>
MadDog's Blog
Внимательно читать: Как правильно задавать вопросы
No fate but what we make
Спасибо сказали:
FastCat
Сообщения: 49

Re: Вопрос о mod_rewrite и .htaccess ?

Сообщение FastCat »

MadDog писал(а): ↑
04.10.2007 15:03
Неплохо бы показать этот самый .htaccess


Вот он:

Код: Выделить всё

php_value register_globals 0
php_value magic_quotes_runtime 0
php_value magic_quotes_gpc 1

AddDefaultCharset windows-1251

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.gif|\.jpg|\.png|\.swf)$
RewriteRule ^(.*)$ /portal/index.php?path=/$1 [L,QSA]
Спасибо сказали:
Аватара пользователя
MadDog
Бывший модератор
Сообщения: 2298
Статус: Добрый банщик

Re: Вопрос о mod_rewrite и .htaccess ?

Сообщение MadDog »

FastCat писал(а): ↑
04.10.2007 15:17
RewriteRule ^(.*)$ /portal/index.php?path=/$1 [L,QSA]
Вообще-то пишется немного не так :)

Код: Выделить всё

RewriteRule ^(.*)$ /portal/index.php?path=/$1 [QSA,L]
MadDog's Blog
Внимательно читать: Как правильно задавать вопросы
No fate but what we make
Спасибо сказали:
FastCat
Сообщения: 49

Re: Вопрос о mod_rewrite и .htaccess ?

Сообщение FastCat »

А в чем разница в написании и действии моего и твоего варианта той строки ?
Просто этот файл .htaccess с таким содержимым был автоматически создан инсталляшкой скрипта.
Спасибо сказали:
Аватара пользователя
MadDog
Бывший модератор
Сообщения: 2298
Статус: Добрый банщик

Re: Вопрос о mod_rewrite и .htaccess ?

Сообщение MadDog »

FastCat писал(а): ↑
04.10.2007 21:59
был автоматически создан инсталляшкой скрипта.
Значит кривые скрипты :)

QSA - Append query string (Прибавляет строку запроса)
L - Последнее правило

Работает?
MadDog's Blog
Внимательно читать: Как правильно задавать вопросы
No fate but what we make
Спасибо сказали:
FastCat
Сообщения: 49

Re: Вопрос о mod_rewrite и .htaccess ?

Сообщение FastCat »

Нет, не работает.
На экране такое сообщение:
Access forbidden!
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
Error 403

В логах такое:
[Thu Oct 04 23:17:01 2007] [error] [client 10.28.x.x] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /srv/portal/
Спасибо сказали:
FastCat
Сообщения: 49

Re: Вопрос о mod_rewrite и .htaccess ?

Сообщение FastCat »

Все заработало.
Просто в .htaccess надо было еще такую строчку добавить Options +FollowSymlinks.
Спасибо сказали:
Аватара пользователя
MadDog
Бывший модератор
Сообщения: 2298
Статус: Добрый банщик

Re: Вопрос о mod_rewrite и .htaccess ?

Сообщение MadDog »

FastCat писал(а): ↑
05.10.2007 12:14
Просто в .htaccess надо было еще такую строчку добавить Options +FollowSymlinks.
Собственно в логах Вам об этом и написали.
MadDog's Blog
Внимательно читать: Как правильно задавать вопросы
No fate but what we make
Спасибо сказали: