来自子目录的Codeigniter主域:base_url也返回子目录名

时间:2016-07-06 02:01:02

标签: php apache .htaccess codeigniter mod-rewrite

我想从共享Apache / PHP服务器中doc_root的子目录中提供我的主域名。该应用程序是使用Codeigniter开发的,所有URL都是使用base_url()函数动态创建的。问题是,所有URL都具有子目录的名称。我想删除它,但不知道该怎么做。

base_url会生成http://example.com/v2/public_html/page1之类的网址。 但我希望它能产生http://example.com/page1。 但是,上述两个网址都提供了正确的页面。

这是我的目录结构:

|-doc_root
   |-v1 
   |-v2
       |-system
       |-application
       |-public_html
         |-.htaccess
       |-.htaccess
   |.htaccess

在我的config.php文件中,我设置了$config['base_url'] = "http://example.com/";

doc_root中的

.htaccess文件:

RewriteEngine on
RewriteRule    ^$    v2/public_html/    [L]
RewriteRule    (.*) v2/public_html/$1    [L]
doc_root / v2中的

.htaccess:

RewriteEngine on
RewriteRule    ^$    public_html/    [L]
RewriteRule    (.*) public_html/$1    [L] 

doc_root / v2 / public_html中的.htaccess:

RewriteEngine on
RewriteBase /v2/public_html
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

请帮我解决这个问题。

0 个答案:

没有答案