Apache绑定多个域名以及二级域名的方法 Rewrite使用
在项目中经常要用到一个多个二级域名站点,那么有没有好用的管理方便的架设方法!
下面以最近在做的天气预报15天查询(http://tqybw.net)项目为例,给大家一个做一个示例说明!
首先,你要有一个泛解析的顶级域名 tqybw.net
在后台添加一条A记录*.tqybw.net
打开http.conf
在文件尾部添加NameVirtualHost *
简单的添加:
<VirtualHost *>
DocumentRoot /usr/local/www
ServerName tqybw.net
ServerAlias *.tqybw.net
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/usr/local/apache2/conf/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
</VirtualHost>
注:其中/usr/local/apache2/conf/为你的apache的配置文件夹根据实际情况修改
进入配置文件目录新建vhost.map文件,添加内容如下:
www.tqybw.net /usr/local/www
bbs.tqybw.net /usr/local/www/bbs
blog.tqybw.net /usr/local/www/blog
启动或重启一次apache
打开浏览器
输入www.tqybw.net将访问到/usr/local/www下的内容
输入bbs.tqybw.net将访问到/usr/local/www/bbs下的内容
依次类推。。。
理论上可以设无限个二级域名,而且不用重启服务器
http://www.tqybw.net直接到根目录下
别的二级域名如
xyz.tqybw.net到根目录下的xyz目录。
实现:
配置apache的http.conf文件,
->取消164行LoadModule rewrite_module modules/mod_rewrite.so前的#号
->文件最后
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.tqybw\.net$
RewriteRule ^(.+) /$1 [L]
RewriteCond %{HTTP_HOST} [^.]+\.tqybw\.net$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ([^.]+)\.tqybw\.net(.*) /$1$2
# 配置 Apache重定向模块 用于二级域名解析
RewriteEngine on
# 主站,url是http://www.tqybw.net
RewriteCond %{HTTP_HOST} ^www\.tqybw\.net$
RewriteRule ^(.+) /$1 [L]
# 专业子站 url是gongsi.tqybw.net/
# 专业子站,进入 例如 specialty/gongsi/ 这样的子目录,但是,如果是找js,css,upload等,则再度返回主站目录
RewriteCond %{HTTP_HOST} ^(gongsi|fangdichan|haishang|hunyin|jianshe|jingji|jingrong|laodong|shewai|sunhai)\.tqybw\.net$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ([^.]+)\.tqybw\.net(.*) /specialty/$1$2 [C]
RewriteRule /specialty/[^/]+/(ajax|cp|css|fckeditor|images|js|upload)/(.+) /$1/$2 [L]
# 地区分站 url是qiche.tqybw.net
# 地区分站,进入 例如 area/nanjing/ 这样的子目录,但是,如果是找js,css,upload等,则再度返回主站目录
RewriteCond %{HTTP_HOST} ^([^.]+)law\.abc\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ([^.]+)law\.tqybw\.net(.*) /area/$1$2 [C]
RewriteRule /area/[^/]+/(ajax|cp|css|fckeditor|images|js|upload)/(.+) /$1/$2 [L]
# 博客 url是youjia.tqybw.net/
# 博客,进入 例如 blog/z/h/angsan/ 这样的子目录,但是,如果是找js,css,upload等,则再度返回主站目录
RewriteCond %{HTTP_HOST} [^.]+\.tqybw\.net$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule (a-z0-9)(a-z0-9)([^.]+)\.xieye\.com(.*) /blog/$1/$2/$3$4
RewriteRule /blog/[^/]+/[^/]+/[^/]+/(ajax|cp|css|fckeditor|images|js|upload)/(.+) /$1/$2 [L]
注:
需要模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule rewrite_module modules/mod_rewrite.so
$1/$2 [P] 改成P 就是用隐藏, 需要上面的mod_proxy.so
分享到:
相关推荐
Nginx中rewrite实现二级域名、三级域名、泛域名、路径的重写[文].pdf
关于apache域名绑定问题,Apache通过Rewrite实现绑定多个域名,如何在一个空间上建立多个相互独立的网站,怎样在一个虚拟主机空间上放多个网站,在一个服务器上设置多个网站
伪静态二级域名设置方法: 一、空间主页以及写法: RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.52steel\.com$ RewriteCond %{HTTP_HOST} !^(www|wap)(.*)\.52steel\.com$ RewriteRule ^/?$ /%{HTTP_HOST} ...
apache_rewrite语法的详细解析,实现php的URL重写。
主要介绍了Apache的Rewrite设置多域名301跳转到主域名的方法,包括重写规则中问号匹配问题的解决,需要的朋友可以参考下
URLRewriter 当用户注册账号,后台审核,会为用户动态生成一个二级域名网站,
Apache Rewrite Module 重定向 偏避的注意点
NULL 博文链接:https://lovexuwenhao.iteye.com/blog/437632
apache 开启重定向 rewrite的实现方法 1.开启重定向模块 $ ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enable/rewrite.load 2.修改配置文件(某些php框架需要) $ vim /etc/apache2/...
本文实例讲述了Linux环境下Apache服务器配置二级域名的方法。分享给大家供大家参考,具体如下: (以域名www.csdn.net为例,现在需要配置一个二级域名blog.csdn.net指向主机地址) 首先,确认开启Apache配置文件...
UrlRewrite域名重写,全套代码,是vs2005.net .net2.0
首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com其次,在 httpd.conf 中打开 mod_rewrite之后,在 httpd.conf 的最后,添加以下内容
本插件主要给使用虚拟主机的站长提供一个虚拟空间,建多个站,一个站绑定多个二级域名的功能。实现URL的隐藏转发,例如:bbs.itopapp.com绑定到虚拟主机上的bbs目录,浏览器中不会跳转到...
主要介绍了Nginx服务器下配置个性二级域名及多个域名的实例讲解,注意一下rewrite的写法规则,需要的朋友可以参考下
该文档简单描述了Apache URL Rewrite功能配置过程,适用于所有开发服务部署人员。。
ASP.NET中实现二级或多级域名ASP.NET中实现二级或多级域名(修改UrlRewrite) 大家应该知道,微软的URLRewrite能够对URL进行重写,但是也只能对域名之后的部分进行重写,而不能对域名进行重写,如:可将 ...
# 安装说明 * 1、程序的框架是Laravel 5.8,因此需要环境... * 确保 Apache 启用了 mod_rewrite 模块以支持 .htaccess 解析。 * Nginx 伪静态配置 location / { try_files $uri $uri/ /index.php?$query_string; }
NULL 博文链接:https://newtime.iteye.com/blog/450305
珍藏的Apache mod write 帮助手册,希望对大家有用
方法有两种一种是编译apache的时候就直接 安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块。二、在Apache配置中启用Rewrite打开配置文件httpd.conf: 代码如下:1....