LINUX.ORG.RU

странное поведение мод_реврайта


0

1

есть htaccess который все юрл заворачивает на index.php

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
	       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule ^(.*)$ index.php/$1 [L]
AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
    CharsetSourceEnc utf-8
    CharsetDefault utf-8
</IfModule>

Но почему то если открыть юрл в котором есть название файла(который есть в папке), то он не заворачивает юрл на index.php а тупо открывает этот файл :(

admin.css файл

mysite/admin/ url

получаем содержимое css файла?!

потому что
RewriteCond %{REQUEST_FILENAME} !-f

iSage ★★★★ ()

А что еще ты от него хотел? Аглицким по белому же написано: реврайтить только если нет такого файла или каталога.

anonymous ()
Ответ на: комментарий от PetrOFF

потому что там все через одно место сделано. неоднократно натыкался на неадекватное поведение всяких сборок типа XAMPP и подобного.

isden ★★★★★ ()

у ТС свой взгляд на то, как должен работать RewriteCond. Да странно даже. Я бы сказал, что гамном закидают, если такое спросить.

FollowTheRabbit ()
Ответ на: комментарий от iSage
RewriteEngine On
RewriteRule ^([^.]+)$ index.php
AddType application/x-ns-proxy-autoconfig .dat
AddDefaultCharset utf-8
AddCharset utf-8 *
<IfModule mod_charset.c>
    CharsetSourceEnc utf-8
    CharsetDefault utf-8
</IfModule>

Так тоже выдает по ссылке(http://www.mysite.com\admin\) файл admin.css

PetrOFF ()
Ответ на: комментарий от PetrOFF

См. выше.
Что будет если добавить DirectoryIndex index.html

iSage ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.