虚拟用户主机
描述:
如果需要为用户username支持一个www.username.host.domain.com的主页,但不在此机器上建虚拟主机,而是仅用在此机器上增加一个DNS A记录的方法实现。
解决方案:
仅能对包含"Host: "头的HTTP/1.1请求实现。可以使用以下规则集内部地将http://www.username.host.com/anypath重写为/home/username/anypath
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.[^.]+\.host\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^www\.([^.]+)\.host\.com(.*) /home/$1$2
apache的手册中的内容,
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]这句怎么理解呢?
一直不能理解为什么要加这一句,而且测试过如果没有这一句下一句的跳转不成立,没效果。
另外问一下手册中怎么翻查apache的内建变量呢?至今只是自己测试+瞎猜知道有个%{HTTP_HOST}这个变量,用于获取URL中的域名部分,其他变量在哪查?具体的含义呢?
还想知道这些正则表达式的具体用法在apache手册怎么查到呢?翻遍了也没找到一个系统的教程,目前只知道()内的字符正则可以被$1,$2...$N来依序匹配获得
描述:
如果需要为用户username支持一个www.username.host.domain.com的主页,但不在此机器上建虚拟主机,而是仅用在此机器上增加一个DNS A记录的方法实现。
解决方案:
仅能对包含"Host: "头的HTTP/1.1请求实现。可以使用以下规则集内部地将http://www.username.host.com/anypath重写为/home/username/anypath
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.[^.]+\.host\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^www\.([^.]+)\.host\.com(.*) /home/$1$2
apache的手册中的内容,
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]这句怎么理解呢?
一直不能理解为什么要加这一句,而且测试过如果没有这一句下一句的跳转不成立,没效果。
另外问一下手册中怎么翻查apache的内建变量呢?至今只是自己测试+瞎猜知道有个%{HTTP_HOST}这个变量,用于获取URL中的域名部分,其他变量在哪查?具体的含义呢?
还想知道这些正则表达式的具体用法在apache手册怎么查到呢?翻遍了也没找到一个系统的教程,目前只知道()内的字符正则可以被$1,$2...$N来依序匹配获得