RewriteCond %{REQUEST_URI} (.*)\.(gif|png|jpe?g|ico|bmp|tif|rar|zip|gz|bz2|js|htc|css|swf)$ [NC]
RewriteRule ^(.*)$ - [L]
не корректно работает выражение в htaccess
Код:
Почемуто урл
site.ru/home/site/file/ima2345.jpg
попадает по это услоние, а
site.ru/home/site/file/folder/ima2345.jpg
нет.
Почему так происходит?
В каком направлении капать?
Цитата:
Операционная система FreeBSD
Версия ядра 6.3-RELEASE-p11
версия Apache 1.3.41 (Unix)
версия Perl 5.8.8
Путь к Perl /usr/bin/perl
Путь к sendmail /usr/sbin/sendmail
версия cPanel 11.18.6-STABLE 24739
Theme cPanel X v2.2
Версия MySQL 4.1.25-log
а попробуй вместо REQUEST_URI использовать REQUEST_FILENAME
Наверное для начала нужно словами описать, что и как должно работать. Потому что ответ на вопрос "почему так происходит" можно так только один. Потому что так настроено, в том числе и через htaccess.
А еще вопрос, как написать правило так, если движек запускается на хосте site.ru|site.ru и если в нем в папки home есть папка site.ru то выполняется дальше, в противном случае делаем редирект на install.php?
Код:
RewriteCond /home/(%{HTTP_HOST}) !-d
RewriteRule ^(.*)$ /install.php [L]
RewriteRule ^(.*)$ /install.php [L]
Правельно?
Я вот тут подумал что это не правельно с точки зрения нагрузки на сервет
Код:
RewriteCond %{HTTP_HOST} !^http://(www\.)?site\.ru/.*$ [NC,OR]
RewriteCond %{HTTP_HOST} !^http://(www\.)?home\.ru/.*$ [NC]
RewriteRule ^(.*)$ /install.php [L]
RewriteCond %{HTTP_HOST} !^http://(www\.)?home\.ru/.*$ [NC]
RewriteRule ^(.*)$ /install.php [L]
А после инстала дописывать сюда нужную запись.
Мне кажется, ты пытаешься идти не в том направлении. По крайне мере я бы не стал шаманиться с реврайтами, а просто бы направлял все запросы на install.php скрипт до того момента, пока инсталяция не прошла, а после того как прошла просто заменить htaccess на другой.