Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 是否可以在没有重定向(R标志)的情况下使用通配符生成子域?_.htaccess_Subdomain_Wildcard - Fatal编程技术网

.htaccess 是否可以在没有重定向(R标志)的情况下使用通配符生成子域?

.htaccess 是否可以在没有重定向(R标志)的情况下使用通配符生成子域?,.htaccess,subdomain,wildcard,.htaccess,Subdomain,Wildcard,我想我已经在我的域中配置好了通配符,因为它对我很有用: RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com RewriteRule ^(.*)$ http://www.example.com/member.php?username=%1 [R,L] 但仅当我使用R或R=301标志重定向时。我想有一个虚拟子域,而用户没有注意到它。subdomain.ex

我想我已经在我的域中配置好了通配符,因为它对我很有用:

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com
RewriteRule ^(.*)$ http://www.example.com/member.php?username=%1 [R,L]
但仅当我使用R或R=301标志重定向时。我想有一个虚拟子域,而用户没有注意到它。subdomain.example.com,并且不要更改栏中的url

我尝试了下一个:

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com
RewriteRule ^(.*)$ http://www.example.com/member.php?username=%1 [L]

没有R标志。但是我得到一个内部服务器错误。有什么问题?有人能帮我吗?

如果没有重定向,您无法重定向到绝对url

本文中的“虚拟用户主机”部分解决了您的问题

如果user.example.com和www.example.com指向同一台机器,则

RewriteCond %{HTTP_HOST} !^www.example.com [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+).example.com 
   RewriteRule ^(.*)$      /member.php?username=%1 [L]

但是,您打算如何处理RewriteRule中捕获的组呢?

您是对的,但是URL也被重命名,用户可以看到更改。我只希望URL更方便用户使用。我不想让那个用户看到将nick.example.com更改为www.example.com/member.php?username=nickSorry我在写完评论后删除了它。是上面的。内部服务器不见了,你说得对。但是用我的代码,url不会改变,用你的工作,url会改变。您知道如何在不更改url的情况下进行重定向吗?启用“重写日志”并查看发生了什么,RewriteLog“/tmp/rewrite.log”RewriteLogLevel 9您能否尝试将条件从移动到上下文。htaccess对不起,我不理解您的上一条消息。关于RewriteLog,我已经在.htaccess中尝试过了,仅此而已,我得到了一个内部错误。也许我必须把它粘贴到其他网站上。