什么';s将链接重定向到子文件夹htaccess的公式


What's the formula for redirecting links to subfolder htaccess?

我知道有很多问题,但我似乎总是对htaccess文件缺乏完全的了解。我的文件非常简单(与其他项目一样,取自Bluehost):

RewriteEngine on 
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?theglobalhuman.com$ 
RewriteCond %{REQUEST_URI} !^/www/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /www/$1 

我的文件夹结构(简而言之)是:

root
 |-- app
      |--templates
            |-- admin
            |-- public
 |-- tmp
 |-- www
 |-- .htaccess

其中www具有索引文件。

所以如果我去website.com,一切都很好。如果我转到website.com/something/more,它可以正常工作,它会进入templates/public文件夹。

但是,如果我转到website.com/admin/more,它转到templates/admin文件夹,出于某种原因,htaccess会中断并将www插入url。有人遇到过这个问题吗?

我认为答案可能是@jonlin的这篇文章中的rewrite_base规则。:

如果它在"subdir2"目录中,则转到http://example.com/subdir2/foo,mod_rewrite会将相对路径误认为是文件路径,而不是URL路径,并且由于R标志,您最终会被重定向到以下内容:http://example.com/var/www/localhost/htdocs/subdir1.这显然不是你想要的。

我想看看他的其余回答,它相当全面。