Heim >Backend-Entwicklung >PHP-Tutorial >apache 子域名
httpd.conf 添加配置如下。
ServerAdmin 969589548@qq.com
DocumentRoot /var/www/html/
ServerName www.chenjiabin.cn
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/etc/httpd/conf/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
vhost.map
www.chenjiabin.cn /var/www/html/
api.chenjiabin.cn /var/www/html/api/
mod_rewrite 有开启。
访问api.chenjiabin.cn 一直访问不到 /var/www/html/api/ 目录下。
我想要的结果是
www.chenjiabin.cn 访问 /var/www/html/
api.chenjiabin.cn 访问/var/www/html/api/ 目录下 这样的结果
虚拟主机版本
NameVirtualHost *:80<VirtualHost *:80> ServerAdmin 969589548@qq.com DocumentRoot /var/www/html/ ServerName www.chenjiabin.cn</VirtualHost><VirtualHost *:80> ServerAdmin 969589548@qq.com DocumentRoot /var/www/html/api/ ServerName api.chenjiabin.cn</VirtualHost>与开不开 url重写 没什么关系
<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} ^([^\.]+).chenjiabin.cn$RewriteRule ^(/?)(.*)$ /%1/$2 [PT,L]</IfModule>目录结构
需要在每个 目录下放一个 .htaccess?
虚拟主机版本
NameVirtualHost *:80<VirtualHost *:80> ServerAdmin 969589548@qq.com DocumentRoot /var/www/html/ ServerName www.chenjiabin.cn</VirtualHost><VirtualHost *:80> ServerAdmin 969589548@qq.com DocumentRoot /var/www/html/api/ ServerName api.chenjiabin.cn</VirtualHost>与开不开 url重写 没什么关系
<IfModule mod_rewrite.c>RewriteEngine onRewriteCond %{HTTP_HOST} ^([^\.]+).chenjiabin.cn$RewriteRule ^(/?)(.*)$ /%1/$2 [PT,L]</IfModule>目录结构
域名就是域名,都是独一无二的
通常我们把只有主机名不同的域名称为二级域名,因为他们通常只隶属于一个主家