mod_rewrite & .htaccess

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

mYscripter
Сообщения: 42
ОС: Gentoo Linux 2006.0

mod_rewrite & .htaccess

Сообщение mYscripter »

Привет. Я вот столкнулся с такой проблемой при работе на ловальной машине с Apache2. В DocumentRoot 3 папки - public, library и application. В конфигуриции сервера написано:

RewriteEngine on
RewriteRule .* /index.php

То есть, все переписывается на index.php. Но мне надо отключить RewriteEngine в папке public, так как там находятся рисунки и таблицы стилей, при обращении к котором опять-таки переписывается на index.php и они становятся нечитаемыми. Для этого пробовал 2 способа:

1. Написать в .htaccess папки public "RewriteEngine off"
2. В httpd.conf написать:
<Directory /public>
RewriteEngine off
</Directory>

И то, и то не приносит результата :( Добавлю, что на корневую папку поставлен AllowOverride All, а вообще написано AccessFileName .htaccess. Сервер собирал сам из исходников на Gentoo. Ещё присоединяю свой htppd.conf
Чтобы понять рекурсию, надо понять рекурсию
LinuxFF.org - Найди свой Linux!
Спасибо сказали:
Аватара пользователя
kusok
Сообщения: 306
Статус: laid to rest
ОС: Debian Sid

Re: mod_rewrite & .htaccess

Сообщение kusok »

Несколько вариантов:
1) само rewriterule поменять - регулярку другую вставить, чтобы не всё перенаправлялось, а только определённые расширения;
2) rewriterule убрать из конфига сервера и вставить его в .htaccess тех каталогов, где оно реально нужно;
3) ещё в mod_rewrite есть директива RewriteBase, позволяющая задать пути для перенаправления:

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

RewriteBase /some/path/to/files

Вообще, если покопаться, ещё несколько вариантов можно предложить. Это просто первое, что на ум пришло.
З.Ы. Советую почитать мануал по апачу, там всё это подробно описано.
Спасибо сказали:
mYscripter
Сообщения: 42
ОС: Gentoo Linux 2006.0

Re: mod_rewrite & .htaccess

Сообщение mYscripter »

Спасибо. Что-то до меня не доперло сразу :) Проблема легко решилась по 2-му варианту :)
Чтобы понять рекурсию, надо понять рекурсию
LinuxFF.org - Найди свой Linux!
Спасибо сказали: