htaccess 将 root 重定向到子文件夹
htaccess to redirect root to subfolder
我们有 GoDaddy 主机。在 public_html 中,我们有许多文件夹,每个文件夹对应一个不同的站点。
主站点 (mysite.com) 通常应位于 public_html,但我们将它们移到了 public_html/mysite。我们有一个 htaccess 文件来处理这个变化。
mysite.com 是一个小型 (PHP) 站点。在其 public 文件夹中是另一个重定向到 public 子文件夹的 htaccess 文件。
我们试图将 mysite 重定向到另一个网址,但出现问题。现在,如果我转到 mysite.com,它会显示 Forbidden。此外,FTP 不再有效。当我尝试连接 Filezilla 时,我得到
Connection attempt failed with "EAI_NONAME - Neither nodename nor servname provided, or not known".
这是因为我尝试连接到 ftp。mysite.com。如果我将其更改为 IP,它确实有效。但显然 mysite.com.
有问题
目前public_html/mysite内的htaccess如下:
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.com$ [NC]
RewriteRule ^(?!public)(.*)$ /public/ [L]
关于如何让它再次工作有什么想法吗?我认为问题是域指向 public_html 文件夹的根而不是 public_html/mysite 但不知道如何解决这个问题。
更新
我们在 public_html 文件夹中有一个 htaccess 文件
RewriteOptions inherit
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.com$ [NC]
RewriteRule ^(?!mysite)(.*)$ /mysite/ [L]
如果我删除它,所有子域都可以使用,但 mysite.com 显示禁止访问。如果我启用该文件,那么每个子域,包括 mysite.com 都会显示内部服务器错误。
您可能在站点根目录中有此 .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.com$ [NC]
RewriteRule ^(?!mysite/)(.*)$ mysite/ [L,NC]
您应该删除 RewriteOptions inherit
指令,因为它在这里没有任何作用。
另请注意重写规则中的一些小修正。
我们有 GoDaddy 主机。在 public_html 中,我们有许多文件夹,每个文件夹对应一个不同的站点。
主站点 (mysite.com) 通常应位于 public_html,但我们将它们移到了 public_html/mysite。我们有一个 htaccess 文件来处理这个变化。
mysite.com 是一个小型 (PHP) 站点。在其 public 文件夹中是另一个重定向到 public 子文件夹的 htaccess 文件。
我们试图将 mysite 重定向到另一个网址,但出现问题。现在,如果我转到 mysite.com,它会显示 Forbidden。此外,FTP 不再有效。当我尝试连接 Filezilla 时,我得到
Connection attempt failed with "EAI_NONAME - Neither nodename nor servname provided, or not known".
这是因为我尝试连接到 ftp。mysite.com。如果我将其更改为 IP,它确实有效。但显然 mysite.com.
有问题目前public_html/mysite内的htaccess如下:
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.com$ [NC]
RewriteRule ^(?!public)(.*)$ /public/ [L]
关于如何让它再次工作有什么想法吗?我认为问题是域指向 public_html 文件夹的根而不是 public_html/mysite 但不知道如何解决这个问题。
更新
我们在 public_html 文件夹中有一个 htaccess 文件
RewriteOptions inherit
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.com$ [NC]
RewriteRule ^(?!mysite)(.*)$ /mysite/ [L]
如果我删除它,所有子域都可以使用,但 mysite.com 显示禁止访问。如果我启用该文件,那么每个子域,包括 mysite.com 都会显示内部服务器错误。
您可能在站点根目录中有此 .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?mysite\.com$ [NC]
RewriteRule ^(?!mysite/)(.*)$ mysite/ [L,NC]
您应该删除 RewriteOptions inherit
指令,因为它在这里没有任何作用。
另请注意重写规则中的一些小修正。