方案1:云虚拟主机配置.htaccess实现单机多站点
1,建立两个目录/a.com/,/b.com/,在两个目录下,分别新建一个 index.html
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>我是a.com</title> </head> <body> <h1>你好!我是a.com</h1> </body> </html
2,现在本地使用sublime或其他编辑器创建一个文件名为.htaccess的文件
# a.com --------------------------------start--- <IfModule mod_rewrite.c> # 关闭目录列表 Options -Indexes RewriteEngine on # 预设页面 DirectoryIndex index.html index.htm index.php RewriteCond %{HTTP_HOST} ^a.com[NC] RewriteCond %{HTTP_HOST} ^www.a.com[NC] RewriteRule ^(.*)$ http://a.com/$1 [L,R=301] # 将域名绑定在特定的目录当中。a.com就是刚刚建立的文件目录 RewriteCond %{HTTP_HOST} ^(www.)?a.com$ [NC] RewriteRule ^(.*)$ /a.com/$1 [L] </IfModule> # a.com ----------------------------------end--- # b.com --------------------------------start--- <IfModule mod_rewrite.c> # 关闭目录列表 Options -Indexes RewriteEngine on # 预设页面 DirectoryIndex index.html index.htm index.php RewriteCond %{HTTP_HOST} ^b.com[NC] RewriteCond %{HTTP_HOST} ^www.b.com[NC] RewriteRule ^(.*)$ http://b.com/$1 [L,R=301] # 将域名绑定在特定的目录当中。b.com就是刚刚建立的文件目录 RewriteCond %{HTTP_HOST} ^(www.)?b.com$ [NC] RewriteRule ^(.*)$ /b.com/$1 [L] </IfModule> # b.com ----------------------------------end---
具体规则代码如上,大致就是判断你是从哪一个域名访问到虚拟主机 如果是a.com,那么就重定向到a.com这个目录的index.html 如果是b.com,那么就重定向到b.com这个目录的index.html
3,最后需要再写两个.htaccess文件 分别如下
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase /a.com/ </IfModule>
这个放到a.com目录下
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase /b.com/ </IfModule>
这个放到b.com目录下
方案2:阿里云虚拟主机搭建多个网站的方法
里云虚拟主机搭建多个网站,需要用到伪静态文件.htaccess 文件
具体步骤如下:
比如说你先在已经搭建了一个A网站www.a.com ,想再搭建一个B网站www.b.com
那么需要先在A网站的根目录下,新建一个文件夹,比如名字叫做B_file
然后再A网站的根目录下,新建一个.htaccess文件,内容如下:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.b.com$ [NC] RewriteCond %{REQUEST_URI} !^/B_file RewriteRule ^(.*)$ /B_file/$1 [L]
接着还需要在B网站根目录(也就是B_file)下,新建一个.htaccess文件,内容如下:
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.b.com$ [NC] RewriteRule (.*) https://www.b.com/$1 [L,R=301]
如果还需要搭建更多网站,重复上面的步骤就行。
ps:大部分虚拟机这两个方法都可以解决。