Помощь с htaccess RewriteRule

R
На сайте с 18.12.2009
Offline
92
367

Здравствуйте. Есть 2 правила, по отдельности друг от друга они работают. Но вот вместе второе отпадает. Как совместить?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
RewriteEngine On
RewriteRule ^(images|downloaded|documents|media|other+)/(.*)$ /img/uploads/$1/$2

Первое для ЧПУ, второе для вставки файлов через визуальный редактор.

Визуальный редактор вставляет в код, например, изображение так: /images/1.jpg, а в действительности файл лежит /img/uploads/images/1.jpg

Спасибо.

siv1987
На сайте с 02.04.2009
Offline
427
#1

Второе поместить перед первым.

R
На сайте с 18.12.2009
Offline
92
#2

siv1987, спасибо, пробовал, не работает.

Вместе правила не работают, только одно.

siv1987
На сайте с 02.04.2009
Offline
427
#3

1. Второе вставить перед первым

2. В конце второго правила (реврайт медиа) добавить флаг L - [L]

Хотя, по идее, должно и без флага L работать. Кеш браузера можно еще почистить на всякий случай.

iren K
На сайте с 28.12.2008
Offline
222
#4
siv1987:

Хотя, по идее, должно и без флага L работать

мне кажется тс стоит весь .htaccess выложить - возможно там есть что интересное

c уважением Iren
R
На сайте с 18.12.2009
Offline
92
#5
iren K:
мне кажется тс стоит весь .htaccess выложить - возможно там есть что интересное

Я, фактически, в первом сообщении выложил весь файл. Только RewriteEngine On, естественно, объявлен 1 раз и плюс AddDefaultCharset utf-8, что ни на что тут не влияет.

siv1987:
1. Второе вставить перед первым
2. В конце второго правила (реврайт медиа) добавить флаг L - [L]
Хотя, по идее, должно и без флага L работать. Кеш браузера можно еще почистить на всякий случай.

Добавил флаг - все заработало. Спасибо огромное.

На выходных засяду за регулярки и mod_rewrite, а то реально все в коде понятно, а это приходится брать из готовых вариантов.

Даже сейчас не знаю зачем там нужен флаг L и от этого грустно)

siv1987
На сайте с 02.04.2009
Offline
427
#6

L - last, последние правило в этом цикле и не продолжать дальше реврайт.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий