阿里的普通版虚拟云主机最多只能建一个站点,但可以绑定多个域名。如果我们想创建2个或3个主机怎么办呢?难道需要再另外购买一台主机?
其实我们可以通过.htaccess文件来定义相关域名绑定对应的网站目录,这样来实现一台主机上挂多个站点。
另外,阿里虚拟主机也是可以自定义.htaccess文件的,我们只需要通过FTP连接,勾选 "强制显示隐藏文件" 即可在网站根目录中看到了。
使用FTP工具,右击编辑该文件:
默认内容模版(存档):
RewriteEngine on <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
域名跳转方法:
RewriteEngine on <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^blog.abc.com [NC] RewriteRule ^(.*)$ http://abc.com/blog/$1 [L,R=301] </IfModule>
二级域名绑定/映射到子目录方法:
示例:
RewriteEngine On RewriteBase / # 映射aaa.test.com到aaa目录 RewriteCond %{HTTP_HOST} ^aaa.test.com$ RewriteCond %{REQUEST_URI} !^/aaa/ RewriteRule ^(.*)$ aaa/$1 # 映射bbb.test.com到bbb目录 RewriteCond %{HTTP_HOST} ^bbb.test.com$ RewriteCond %{REQUEST_URI} !^/bbb/ RewriteRule ^(.*)$ bbb/$1
我使用的模版:
RewriteEngine on # 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] # 绑定a.abc.com 到 new子目录 RewriteCond %{HTTP_HOST} ^a.abc.com$ [NC] RewriteCond %{REQUEST_URI} !^/new/ RewriteRule ^(.*)$ new/$1 [L,QSA] </IfModule> # END WordPress
原文地址:https://www.cnblogs.com/colinliu/p/htaccess.html
时间: 2024-10-27 13:05:40