-1

当用户在http://xyz.mywebsite.com是虚拟且不存在的地址栏中键入http://xyz.mywebsite.com时,我想将网站用户重定向到 www.mywebsite/users.php?user=xyz .

我是初学者,对 url 重写不太了解。试图搜索谷歌和堆栈溢出,但没有得到解决方案。

我从这个开始

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+).mobilehealthnig.com$
RewriteRule (.*) http://www.mywebsite.com/users.php?subdomain=%1
</IfModule>

也试过这个,但这些都不适合我

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mywebsite.com
RewriteCond %{HTTP_HOST} ([^.]+).mywebsite.com
RewriteRule ^(.*)$ /users.php?subdoamin=%1
4

1 回答 1

0

好的,根据您的其他输入,我建议进行此设置:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.mywebsite\.com$
RewriteRule (.*) http://www.mywebsite.com/users.php?subdomain=%1 [L]
</IfModule>

如果这不起作用(我从你的评论中得到),你必须检查实际问题出在哪里:

  • 重写是否有效?
  • 这条规则有什么作用吗?什么?
  • 这条规则被忽略了吗?为什么?

在这种情况下绝对最有意义的是打开重写日志以查看和了解重写引擎内部实际发生的情况。请看一下这两个命令RewriteLogRewriteLogLevel里面提到的手册。启用可能为 7 的日志级别,并查看发出单个请求时记录的内容。它应该让您了解在哪里寻找问题的原因。

于 2012-11-10T12:40:04.240 回答