我在尝试找到正确的.htaccess mod_rewrite命令来处理GoDaddy安装时遇到问题,该安装在其public_html文件夹的自己的文件夹中安装了多个Installatron应用。
为了说明-站点托管注册的主要域是acme.com,因此,在acme.com上提供任何内容的所有请求都将作为public_html文件夹的根。如果然后我托管一个附加域(比如helloworld.com),则该域位于public_html \ helloworld.com文件夹中的public_html文件夹中。
这意味着,如果我转到http:\\ acme.com \ helloworld.com \,则会从主域地址获得附加域内容。我想找到一个重写规则来防止这种行为,并且仍然可以正确使用附加域。
我已经看到了有关将主域移动到子文件夹的答案。所以现在文件结构是:
public_html\
public_html\acme.com\
public_html\helloworld.com\
下面的re_write规则在托管建议网站上似乎很流行,它成功地允许http:\\ acme.com正常工作,但不能阻止http:\\ acme.com \ helloworld.com \问题
# .htaccess main domain to subdirectory redirect
# Do not change this line.
RewriteEngine on
# Change example.com to be your main domain.
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
# Change 'subdirectory' to be the directory you will use for your main domain.
RewriteCond %{REQUEST_URI} !^/subdirectory/
# Don't change the following two lines.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Change 'subdirectory' to be the directory you will use for your main domain.
RewriteRule ^(.*)$ /subdirectory/$1
# Change example.com to be your main domain again.
# Change 'subdirectory' to be the directory you will use for your main domain
# followed by / then the main file for your site, index.php, index.html, etc.
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ subdirectory/index.html [L]
任何帮助将不胜感激,因为我仍然发现mod_rewrite规则实在是太过黑暗了!
谢谢大家