我有一个完美工作的网站作为我的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文件中的任何内容吗?
非常感谢任何帮助。感谢。
答案 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找到一些线索。