我想写一个.htaccess,应该从中执行以下操作。
我有像
这样的域名www.xyz.com
我正在撰写许多文章。 所以它会成为
www.xyz.com/article1-tutorial/
www.xyz.com/article2-tutorial/
www.xyz.com/article3-tutorial/
但不是我需要这样的。
www.article1-tutorial.xyz.com/
www.article2-tutorial.xyz.com/
www.article3-tutorial.xyz.com/
请帮助找到解决方案。我知道我们不能去寻找子域概念,只有重定向的方式。那么什么是解决方案?
答案 0 :(得分:2)
你可以像这样使用apache的mod重写:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
RewriteRule (.*) %2/$1 [L]
当用户转到http://article1-tutorial.domain.com/时 server internaly将请求重写为http://www.domain.com/article1-tutorial
答案 1 :(得分:2)
你的apache.conf中需要这样的东西:
<VirtualHost *:80 >
ServerName automated_domains
ServerAlias *.xyz.com
VirtualDocumentRoot /home/xyzcom/website/
</VirtualHost>
然后在您放入/home/xyzcom/website
的PHP文件中,您可以获取$_SERVER['HTTP_HOST']
变量中实际调用的域。
希望这有帮助!
KKovacs
答案 2 :(得分:1)
你能使用apache的反向代理引擎吗?