使用htaccess Rewrite,我希望我的网址http://*.phoneataxi.com/(其中*是通配符,不包括'www')按地址栏显示,但是从http:// *获取信息.phoneataxi.com / test.php的C = *。
我尝试了很多不同的东西,但没有什么能完全符合我的需要。大多数示例都将子域重定向到地址栏中的'/test.php'文件,我不想这样做。
我正在尝试不必在我的webroot中创建单独的子域和子域文件夹。
想法?
答案 0 :(得分:2)
我使用这个htaccess
文件使Apache充当另一个主机的代理:
IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^ghost\.pileborg\.se$
RewriteRule (.*) http://vps.pileborg.se/ghost/$1 [P]
</IfModule>
这会导致http://ghost.pileborg.se/的所有访问权限被“重定向”到http://vps.pileborg.se/ghost/。
答案 1 :(得分:0)
有关此主题的一些答案很旧,不再按预期工作。
在搜索了几个小时后,我想到了什么。根据需要进行修改:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ([a-z0-9]+)\.
RewriteRule ^(.*)$ - [E=BASE:%1]
RewriteCond %{DOCUMENT_ROOT}/%{ENV:BASE}/index.php -f
RewriteRule ^(.*)$ %{ENV:BASE}/index.php [L,NC,QSA]
RewriteCond %{DOCUMENT_ROOT}/%{ENV:BASE}/index.html -f
RewriteRule ^(.*)$ %{ENV:BASE}/index.html [L,NC,QSA]
确保在您的主机上安装并启用了rewrite
模块
rewrite
引擎并设置基于路径的路径here说明了这里使用的标志,但是上面使用的标志非常简单:
[L]
最后一条规则,忽略其余部分[NC]
没有大小写,没有大写/小写限制[QSA]
我记得这是“查询字符串附加”:D