我想在我的 .htaccess 文件中使用重写规则来更改我的文档根目录,并将所有请求重定向到index.php
静态资源除外
换句话说:
如果路径前缀为
www
存在的文件(即www/{%request_uri}
):http://domain.com/css/main.css
应重写为http://domain.com/www/css/main.css
如果该文件不存在,则重定向到应用程序主入口点
www/index.php
:例如http://domain.com
应该改写为http://domain.com/www/index.php
http://domain.com/hello
应该改写为http://domain.com/www/index.php/hello
http://domain.com/hello?a=1
应该改写为http://domain.com/www/index.php/hello?a=1
我尝试了变体,但是它要么给我们 500 内部服务器错误,要么给我们无限循环。这是一个给出 500 内部服务器错误:
# try to find it in www/
RewriteCond {%DOCUMENT_ROOT}/www%{REQUEST_URI} -f
RewriteCond {%DOCUMENT_ROOT}/www%{REQUEST_URI} -d
RewriteRule ^(.+) www/$1 [L]
RewriteRule ^(.*) www/index.php/$1 [L]
这个还有:
RewriteCond %{REQUEST_URI} !www/
RewriteRule (.*) /www/$1
RewriteCond {%REQUEST_FILENAME} !-f
RewriteCond {%REQUEST_FILENAME} !-d
RewriteRule www/(.*) /www/index.php/$1 [PT,L]
任何人都可以帮忙吗?