我使用mod_rewrite与程序,我有一个问题...

这是我的规则:

url.rewrite-once = (".*\.(js|ico|gif|jpg|png|css)$" => "$0", "" => "/index.php")

Apache规则的工作在阿帕奇,看起来是这样的:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d   
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php

它完美的作品,除此之外,当我要用头文件, http://www.site.com/phpmyadmin 当然是正重定向到我在哪里,告诉它。然而,我真的很喜欢它的工作与真正的目录和文件。

我如何可以改变重写规则,在程序尊重的东西,如/头文件?

编辑:

看着一切,做了一些研究,我丢失的程序equivilent这些行:

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

我怎么可以添加这些程序改写config?

有帮助吗?

解决方案

后应,阅读,并且许多其他艰苦的事情,我想出了这个,我希望它有助于与其他人相同的问题,我不得不...

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