代码之家  ›  专栏  ›  技术社区  ›  Kladskull

lighthttp的mod_重写问题

  •  0
  • Kladskull  · 技术社区  · 16 年前

    我正在使用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等效:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d  
    

    我怎样才能把这些添加到配置?

    1 回复  |  直到 16 年前
        1
  •  0
  •   Kladskull    16 年前

    在做了大量的杂事、阅读和其他许多艰苦的事情之后,我想到了这个,我希望它能帮助其他人解决我遇到的同样的问题…

    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/ (将按预期工作-注意尾随斜杠)