带有mod_rewrite和mod_proxy的通配符子域重定向超时

时间:2016-04-23 23:26:36

标签: php apache .htaccess mod-rewrite mod-proxy

我在为网站做重定向时遇到问题。 我正在制作的系统要求用户拥有自己的地址,如

http://user1.domain.com/ 可能的文件名,如

http://user1.domain.com/file.html

重定向到http://www.domain.com/php?user=user1&file=file.html

这部分工作正常,因为我已经通过cpanel设置了通配符重定向; *.domain.com重定向到www.domain.com/users/。 (我无法重定向到根目录,因为有另一个系统已经运行了很重的.htaccess,我已经尝试了,但它似乎在劫持我正在尝试做的事情并将我重定向到索引.PHP)。 在users文件夹中是我的.htaccess文件所在的位置。

这是这样写的

Options -Indexes +FollowSymLinks
RewriteEngine On 
RewriteCond %{HTTP_HOST} !www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC]
RewriteRule ^(.*)(.html)?$ http://www.domain.com/php?user=%1&file=$1 [P]

问题是,如果我在最后一条规则上使用[P]标志,服务器就会超时,并且请求结束。 如果我使用[L]标志,则重写按预期工作,但URL被重定向到www.domain.com/php?user=user1&file=file.html

我想要的是让用户看到 user1.domain.com/file.html

同时来自的内容 显示www.domain.com/php?user=user1&file=file.html

从我(我想)可以看出,mod_proxy和mod_proxy_http已启用,否则[P]标志将产生500错误。

我看不出我做错了什么,我似乎无法弄明白。 我无法访问httpd.conf或其他服务器配置,因为这是在共享主机服务上。

请帮忙。

0 个答案:

没有答案