前天的一个问题:如何让虚拟主机可以绑定多个顶级域名,这样就省下空间费用了,找到的办法是修改.htaccess方法,今天线上测试成功,分享下喜悦。
(1)这是虚拟主机网站根目录下建的文件夹,yingwuu 和 yixueshengtid 分别代表2个网站2个域名。用.htaccess来进行url对应绝对路径
(2)这是.htaccess 文件的写法
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# RewriteRule ^index\.php$ – [L]
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule . /index.php [L]
#不带www的301重定向到带www.
RewriteCond %{HTTP_HOST} ^yixueshengtid\.com$ [NC]
RewriteRule ^(.*)$ https://yixueshengtid.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^yingwuu\.com$ [NC]
RewriteRule ^(.*)$ http://www.yingwuu.com/$1 [L,R=301]
#访问域名为http://abc.com或者http://www.abc.com的,且不是/com/文件的,且不存在的文件或目录
RewriteCond %{HTTP_HOST} ^(www\.)?yixueshengtid\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/yixueshengtid/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /yixueshengtid/$1 [L]
#重定向首页到/com/文件目录下.
RewriteCond %{HTTP_HOST} ^(www\.)?yixueshengtid\.com$ [NC]
RewriteRule ^(/)?$ yixueshengtid/index.php [L]
#以上是设置http://www.abc.com访问/com/文件目录,
#以下是设置http://www.abc.cn访问/cn/文件目录.
RewriteCond %{HTTP_HOST} ^(www\.)?yingwuu\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/yingwuu/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /yingwuu/$1 [L]
RewriteCond %{HTTP_HOST} ^(www\.)?yingwuu\.com$ [NC]
RewriteRule ^(/)?$ /yingwuu/index.php [L]
#以下设置访问地址既不是.http://abc.com也不是http://www.abc.cn的重定向到http://www.abc.com域名
RewriteCond %{HTTP_HOST} !^(www\.)?yixueshengtid\.com$ [NC]
RewriteCond %{HTTP_HOST} !^(www\.)?yingwuu\.com$ [NC]
RewriteRule ^(/)?$ https://yixueshengtid.com [L,R=301]
</IfModule>
# END WordPress
(3)安装wordpress时候,又遇到了著名5分钟的问题,还是修改wp-config.php 成功的。有个数据库问题,就是虚拟主机的数据库只有一个,所以,用修改.htaccess方法安装的wordpress程序的数据库的表都在一个库里,用前缀区分开。
(4)前期这几个网站都先用wordpress来做吧,等做大后再用独立服务器吧。