将CodeIgniter网站移动到子文件夹

时间:2015-04-03 13:30:00

标签: php apache .htaccess codeigniter mod-rewrite

我有一个完美工作的网站作为我的webhost(/ public_html)的根目录,但我最近买了一个新域并将它停在那里,所以我需要一个子目录(/public_html/newdomaindir).

现在我需要将整个网站移动到子文件夹(/ public_html / website),并且我很难适应.htaccess文件。

这是我以前工作的.htaccess文件,当它是root:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^website.org$
RewriteRule ^/?$ "http\:\/\/www\.website\.org\/" [R=301,L]

#SetEnvIfNoCase Host ^www\.website\.org$ require_auth=true

RewriteCond $1 !^(index\.php|images|css|robots\.txt|js|icons|files|fonts|extplorer)
RewriteRule ^(.+)$ /index.php?/$1[L,QSA]

现在,webhost支持建议我将此.htaccess文件作为root用户,以重定向流量。

RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} website.org$
RewriteCond %{REQUEST_URI} !website/
RewriteRule ^(.*)$ website/$1

但是,嗯......它没有按预期工作。我的网站坏了。

我应该使用不同的方法,也许请支持人员更改我的网站的document_root?我应该更改子文件夹.htaccess文件中的任何内容吗?

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:2)

不是我最强的技能,但我会尝试将之前的.htaccess修改为以下格式:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^website.org$
RewriteRule ^/?$ "http\:\/\/www\.website\.org\/" [R=301,L]

# not sure what about this
#RewriteCond $1 !^website\/(index\.php|images|css|robots\.txt|js|icons|files|fonts|extplorer)
RewriteRule ^$ website/ [L]
RewriteRule ^(.+)$ website/index.php?/$1[L,QSA]

如果这不起作用,也许你会在this SO answer找到一些线索。