我有理解htaccess的重定向如何工作的问题:htaccess的子域脚本重定向
我可以做一个背景重定向,从而使用户看到[subdomain].mydomain.com/?p1=v1...
,但服务器没有实际的重定向,只有服务器端提供mydomain.com/?sid=[subdomain]&p1=v1...
。
这是我迄今为止,它不工作:
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} ^([^./]+)\.localhost\.com/(.+) [NC]
RewriteRule (.+) localhost.com/index.php?supplier=$1&$2 [L]
我不会改变任何东西。
编辑
我得到了这个工作中间:
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} ^([^./]+)\.localhost\.com$ [NC]
RewriteRule /(.+)$ http://localhost\.com/eshop/?supplier=%1 [QSA,P]
现在我得到一个不错的禁止警告,如果删除标志P,它会重新定向,所以URL显示http://localhost.com/eshop/?supplier=[subdomain]&p1=v1...
喜欢它应该,但用户仍然必须看到http://[subdomain].localhost.com/eshop/?p1=v1...
,现在如何删除该禁止部分...
(注意我的网站实际上是在下的文件夹www,但eshop部分将消失)。
EDIT 2
它的作品,从而clmarquart说我需要mod_proxy的。在WAMP上,您必须通过单击托盘图标 - > Apache-> Apache模块启用它,并启用proxy_module和proxy_http_module,无论它们是什么。
为了使用'[P]'标志,你需要启用'mod_proxy'。否则,你有什么应该工作。 – clmarquart 2011-04-26 13:18:31
那是什么?我如何检查WAMP? – Solenoid 2011-04-26 13:22:23
模块在'conf/httpd.conf'文件中启用。您需要确保您的托管服务提供商也启用了它。启用apache模块应显示在phpinfo页面以及'<?php phpinfo(); ?>' – clmarquart 2011-04-26 13:27:49