将链接重定向到子文件夹htaccess的公式是什么?

时间:2016-04-30 20:58:32

标签: php .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 插入到网址中。有没有人有这个问题?

1 个答案:

答案 0 :(得分:0)

我认为答案可能是来自this post by @jonlin。:

的rewrite_base规则
  

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

我会查看其余的答案,这是非常全面的。