2015-11-12 5 views
0

Как я могу переписать это правило ниже, чтобы он игнорировал определенные папки и весь контент внутри этих папок.Заменить .htaccess RewriteRules игнорировать определенные папки?

# BEGIN WishList Member Attachment Protection 
RewriteEngine on 
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|bmp)$ 
RewriteRule ^(.*)$ /index.php?wlmfile=$1 [L] 
# END WishList Member Attachment Protection 

Я думал, что добавление линии как выше текущей RewriteCond будет работать, но это не кажется, ...

RewriteCond %{REQUEST_URI} !^/foldertoignore 
RewriteCond %{REQUEST_URI} !^/foldertoignorenumber2 

После не работает:

# BEGIN WishList Member Attachment Protection 
RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/foldertoignore 
RewriteCond %{REQUEST_URI} !^/foldertoignorenumber2 
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|bmp)$ 
RewriteRule ^(.*)$ /index.php?wlmfile=$1 [L] 
# END WishList Member Attachment Protection 
+0

@arkascha Правила не работают, когда я это делаю, поэтому что-то должно быть неправильно. – Ryflex

+0

Вы получаете сообщение об ошибке или что вы имеете в виду не работает? –

+0

@PanamaJack Нет, нет ошибки, я вижу, что она не работает. Один из способов, которым я могу проверить, - просто положить '| css' в строку rewritecond. – Ryflex

ответ

2

Не уверен, почему он не работает. Однако вы должны быть в состоянии делать вам правила таким образом.

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/(folder1|folder2)/?(.*)$ [NC] 
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|bmp)$ 
RewriteRule ^(.*)$ /index.php?wlmfile=$1 [L] 

Вы также можете попробовать правила таким образом. Если он соответствует этим каталогам, ничего не делайте.

RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/(folder1|folder2)/?(.*)$ [NC] 
RewriteRule^- [L] 

RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|bmp)$ 
RewriteRule ^(.*)$ /index.php?wlmfile=$1 [L] 

Также обязательно очистите кеш браузера на всякий случай.

+1

Ваш первый вариант сработал, это была часть '/?(.*)', которая его исправила. – Ryflex