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 ServerAdmin 969589548@qq.com DocumentRoot /var/www/html/ ServerName www.chenjiabin.cn ServerAdmin 969589548@qq.com DocumentRoot /var/www/html/api/ ServerName api.chenjiabin.cn
與開不開 url重寫 沒什麼關係
url重寫版本
RewriteEngine onRewriteCond %{HTTP_HOST} ^([^\.]+).chenjiabin.cn$RewriteRule ^(/?)(.*)$ /%1/$2 [PT,L]目錄結構
/var/www/html/ www
/var/www/html/ api
....
可在每個目錄下放一個 .htaccess
需要在每個 目錄下放一個 .htaccess?
虛擬機器主機版本
NameVirtualHost *:80 ServerAdmin 969589548@qq.com DocumentRoot /var/www/html/ ServerName www.chenjiabin.cn ServerAdmin 969589548@qq.com DocumentRoot /var/www/html/api/ ServerName api.chenjiabin.cn
與開不開 url重寫 沒什麼關係
url重寫版本
RewriteEngine onRewriteCond %{HTTP_HOST} ^([^\.]+).chenjiabin.cn$RewriteRule ^(/?)(.*)$ /%1/$2 [PT,L]目錄結構
/var/www/html/ www
/var/www/html/ api
....
可在每個目錄下放一個 .htaccess
這個是配置多個網域名稱?
不是次層網域?
網域名稱就是網域名稱,都是獨一無二的
通常我們把只有主機名稱不同的網域名稱稱為次層網域,因為他們通常只隸屬於一個主家