Вопрос

Я использую 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/ (БУДЕТ РАБОТАТЬ КАК ОЖИДАЕМО - обратите внимание на косую черту)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top