我刚刚设置了我的第一个VPS。我有一个主要域名 - “mysite.com”。我在主域名目录中托管其他网站。为了使它们有条理,我将它们放在一个名为“sites”的文件夹中。
问题是我可以通过访问“mysite.com/sites/othersite/index.php以及辅助域名的网址”来访问辅助站点。
我知道我需要使用.htaccess来解决这个问题。到目前为止,我经过一些研究后尝试了以下内容:
RewriteRule ^/sites/(.*)$ http://www.othersite.com/$1 [R=301,L]
这会将mysite.com/sites/重写回根网址,但mysite.com/sites/othersite/index.php仍然会生成othersite.com的副本
我正在寻找一个重写规则或一组规则,它们会将/ sites /目录中任何(文件,子文件夹等)的任何请求绝对重定向到根目录(mysite.com)
答案 0 :(得分:1)
这不是做到这一点的方法。您应该设置虚拟主机并将Webroot设置为单独的文件夹。
为每个站点创建一个虚拟主机文件。并为httpd config中的整个目录编写一个include语句。
虚拟主机文件的示例:
<VirtualHost *:80>
ServerName domainname.com
DocumentRoot /var/www/vhosts/domainname.com
<Directory /var/www/vhosts/domainname.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
CustomLog /var/log/httpd/domainname.com-access.log combined
ErrorLog /var/log/httpd/domainname.com-error.log
LogLevel warn
</VirtualHost>
这将按域
分隔您的错误日志