mod_rewrite проблема с Lighthttp
-
11-09-2019 - |
Вопрос
Я использую mod_rewrite с Lighttpd, и у меня возникла проблема...
Вот мое правило:
url.rewrite-once = (".*\.(js|ico|gif|jpg|png|css)$" => "$0", "" => "/index.php")
Правило Apache работает на Apache и выглядит следующим образом:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php
Он работает отлично, за исключением случаев, когда я хочу использовать phpmyadmin, http://www.site.com/phpmyadmin конечно, перенаправляется туда, куда я говорю...однако мне бы очень хотелось, чтобы он работал с реальными каталогами и файлами.
Как я могу изменить правило перезаписи в Lighttpd, чтобы оно учитывало такие вещи, как /phpmyadmin?
Редактировать:
Просматривая все и проводя некоторые исследования, мне не хватает облегченного эквивалента этих строк:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Как я могу добавить их в конфигурацию перезаписи Lighttpd?
Решение
После долгих возни, чтения и многих других кропотливых дел я придумал это, и я надеюсь, что это поможет всем остальным с той же проблемой, что и у меня...
url.rewrite-once = (
"/(.*)\.(.*)" => "$0",
"/(phpmyadmin|css|img|js)/" => "$0",
"^/([^.]+)$" => "/index.php/$1"
)
Так:http://www.site.com/class/method/test/1/test2/2 (БУДУТ РАБОТАТЬ КАК ОЖИДАЕМО)http://www.site.com/phpmyadmin/ (БУДЕТ РАБОТАТЬ КАК ОЖИДАЕМО - обратите внимание на косую черту)