.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中尝试过了,仅此而已,我得到了一个内部错误。也许我必须把它粘贴到其他网站上。