2009-10-06 2 views
1

ОК, поэтому мы работали в неправильном каталоге, meh!.htaccess файл не работает согласно плану

У нас есть файл .htaccess, который настроен для перенаправления некоторых файлов на php-скрипт. Теперь мы добавляем некоторые жесткие файлы, которые мы хотим обойти эту перенаправление. Пока это не работает, и мы в тупике.

Ниже наши первоначальное содержимое файла .htaccess после запуска двигателя, который работает на другое приложение уже:

RewriteCond $ 1^(index.php | robots.txt | favicon.ico)

(. *)

RewriteRule^$ /index.php/$1 [L]

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

RewriteCond% {REQUEST_URI} Каталог

RewriteCond $ 1 ^! (Index.php | я/| robots.txt | favicon.ico | каталог)

Ни кажется, работает , Любые идеи о том, как загрузить это?

Примеры:

Если перенаправляют

http://site.com/thisredirects/

Если не перенаправлять

http://site.com/directory

http://site.com/directory/

http://site.com/directory/index.php

т.д.

ответ

0

вы пытались сделать второй файл .htaccess в директории директорию/и делать NoRewrite в нем?

1

Попробуйте это:

Привычка перенаправлять

RewriteRule directory/.* - [L] 

перенаправлений

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

Это кажется, что вы хотите, чтобы перенаправить все, что на самом деле не существующий файл в вашем DOCROOT в индекс. PHP.Это немного переписывания должен справиться с этим:

RewriteCond %{REQUEST_FILENAME} -s [OR] # file with size 
RewriteCond %{REQUEST_FILENAME} -l [OR] # file is a link 
RewriteCond %{REQUEST_FILENAME} -d  # file is a directory 
RewriteRule ^.*$ - [NC,L]    # don't rewrite [last rule] 
RewriteRule ^(.*)$ /index.php/$1 [NC,L]  # everything else gets sent to index.php 

[OR] Оператор может быть то, что вы ищете на RewriteCond, а также.

Кроме того, если вы просто хотите, чтобы белый список часть каталога/вы можете поместить правило перед вашими переадресаций, которая была помечена [L] для «последнего правила»

RewriteRule ^/directory.*$ - [NC,L] 
Смежные вопросы