以下是我在public/
目录中重定向的重定向规则。
site
内的文件(示例目录)
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^public/.*$
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/(.*)$ public/index.php?r=$1 [NC,L]
这样做会产生一种时髦的效果。
site/a/b/c --> site/a/b/c/b/c
// ^ b/c is repeated and the params are a/b/c
在公共目录.htaccess文件中有
RewriteEngine On
如果我删除此行,则r
获取public/index.php
而不是a/b/c
。
为什么会这样?
答案 0 :(得分:0)
试试这段代码:
RewriteEngine On
RewriteRule ^$ public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.+)$ public/index.php?r=$1 [L,QSA]