PDA

Просмотр полной версии : mod_rewrite запрет обработки директорий


PiNzit
28.05.2008, 17:16
существует .htaccess

Options FollowSymlinks
RewriteEngine On
RewriteRule ^([A-Za-z0-9]+)/$ index.php?categoryID=$1
RewriteRule ^.htaccess*$ - [F]


в скриптах должны отображаться картинки из директории images, как запретить ее обработку реврайтом?

пробовал найденную в инете RewriteRule ^images/.*$ - [L] но безрезультатно((

Naydav
28.05.2008, 17:34
попробуй так:

RewriteRule ^images/(.*)$ images/$1 [L]

и это выражение должно быть первым


Это работает:
Options FollowSymlinks
RewriteEngine On
RewriteRule ^images/(.*)$ images/$1 [L]
RewriteRule ^([A-Za-z0-9]+)/$ index.php?categoryID=$1
RewriteRule ^.htaccess*$ - [F]

PiNzit
28.05.2008, 17:52
уже пробовал, не работает(

Naydav
28.05.2008, 18:00
а если ты комментируешь
# RewriteRule ^([A-Za-z0-9]+)/$ index.php?categoryID=$1

работает?

попробуй дописать RewriteBase /
RewriteEngine on
Options +FollowSymlinks
RewriteBase /

RewriteEngine on
Options +FollowSymlinks
RewriteBase /

RewriteRule ^images/(.*)$ images/$1 [L]
RewriteRule ^([A-Za-z0-9]+)/$ index.php?categoryID=$1
RewriteRule ^.htaccess*$ - [F]

PiNzit
28.05.2008, 19:26
нет не работает с комментом, всегда когда присутствует строка
RewriteRule ^images/(.*)$ images/$1 [L]
выдает 404 ошибку

Naydav
28.05.2008, 19:36
Options FollowSymlinks
RewriteEngine On
RewriteBase /
#RewriteRule ^images/(.*)$ images/$1 [L]
#RewriteRule ^([A-Za-z0-9]+)/$ index.php?categoryID=$1
#RewriteRule ^.htaccess*$ - [F]

А так работает? Я имею ввиду отображаються ли рисунки Если нет то ошибка не в htaccess, может папка по другому называеться?, типа image

хотя почему у тебя картинки не отображаються, странно...
попробу й поставить в src="/images/test.gif", слеш перед images

PiNzit
28.05.2008, 20:12
Options FollowSymlinks
RewriteEngine On
#RewriteBase /
RewriteRule ^images/(.*)$ images/$1 [L]
RewriteRule ^([A-Za-z0-9]+)/$ index.php?categoryID=$1
RewriteRule ^.htaccess*$ - [F]
так убралась ошибка 404 но всеранво без картинок
папка точно images в теги img пробовал дописывать / перед путем аналогично

FeraS
28.05.2008, 20:29
Возможно я недопонял, но может это (http://forum.aeweb.ru/thread156.html) пригодится

Naydav
28.05.2008, 20:31
Options FollowSymlinks
RewriteEngine On
RewriteBase /
#RewriteRule ^images/(.*)$ images/$1 [L]
#RewriteRule ^([A-Za-z0-9]+)/$ index.php?categoryID=$1
#RewriteRule ^.htaccess*$ - [F]
Говорю попробуй так, отображаються ли рисунки
Если нет то ошибка не в htaccess

NOmeR1
28.05.2008, 20:44
Имхо
RewriteRule ^(?!images/)([A-Za-z0-9]+)/$ index.php?categoryID=$1

PiNzit
28.05.2008, 21:22
Naydav так вообще 404 ошибка говорю же
NOmeR1 думаю ыт не совесм понял вопрос...
FeraS спасибо, но не решает моего вопроса(

Naydav
28.05.2008, 22:39
404 ошибка, если все закоментировано?
удали(переименнуй) .htaccess, будут отображаться рисунки?

blackybr
28.05.2008, 23:24
а тупо запретить к рерайту ту директорию с картинками?

PiNzit
31.05.2008, 15:50
Naydav нет, картинки пропадают только если обращаться по реврайтным ссылкам, по обычным они прекрасно работали и работают сейчас
blackybr дык это и необходимо сделать, но что-то никак не выходит =))

PiNzit
04.06.2008, 17:18
Да здравствует Я и все помогавшие)))
все оказалось банально, хтэйсес содержал

RewriteRule ^images/(.*)$ images/$1 [L]
RewriteRule ^([0-9]+)/$ index.php?categoryID=$1

то есть http://site.com/?categoryID=123 => http://site.com/123/
а это значит, что то что <img src="images/blablabla.gif"> справедливо не будет работать в случае с реврайтными путями без "../"
если праивть тег img то все работает, но хотелось бы решить эту задачу с помощью .htaccess я с его синтаксисом пока не очень лажу, по этому прошу подсказать, как мне модифицировать первую строку из циаты, чтобы получить "*/images/blablabla.gif" -> "images/blablabla.gif" (то есть где-то в начале строки надо добавить *)