2012-02-10 2 views
1

У меня есть каталог на сайте:Переписать URL-адрес с .htaccess, но игнорировать конкретные каталоги

В этом у меня есть. htaccess файл.

Я хочу, чтобы принимать какие-либо URL, как это:

И переписать его:

для любых URL, за исключением, что обратитесь к этой дирекции s:

У меня есть первая часть работает, но не может сказать ему, чтобы исключить файлы в определенных каталогах:

Options +FollowSymlinks 
RewriteEngine on 

RewriteRule ^([^/]+)/([^/]+) index.php?arg1=$1&arg2=$2 [NC] 

Обновление:

Это работает в очень простом и простом смысле:

RewriteRule ^css - [L,NC] 
RewriteRule ^javascript - [L,NC] 
RewriteRule ^images - [L,NC] 
RewriteRule ^([^/]+)/([^/]+) index.php?arg1=$1&arg2=$2 [NC] 

, но я уверен, что есть более элегантное решение?

ответ

1

Я думаю, что ключевое слово, которое вы ищете, это RewriteCond. Это очень похоже на то, с чем вы оказались.

RewriteCond %{REQUEST_URI} !^(css|javascript|images) 
RewriteRule ^([^/]+)/([^/]+) index.php?arg1=$1&arg2=$2 [NC] 
1

Вы можете быть в состоянии использовать RewriteCond, чтобы проверить, существует ли фактический файл ... по крайней мере, я использую это для веб-сайтов, когда я хочу что-то вроде CSS, Javascripts и изображения должны быть доступны (без запроса . перенаправлены)

Вот линия я использую:

# only rewrite if the requested file doesn't exist 
RewriteCond %{REQUEST_FILENAME} !-s 

Позвольте мне знать, если это работает для вас!