我有这个代码下面应该将子域redirect到.htaccess中的目录。 我正在做的是让我的网站上的每个用户都有他们的个人资料位于username.mysite.com。 我已经更改了通配符的DNSlogging以及之前工作过的代码,但由于某种原因,现在已经不存在了。 任何人都可以帮忙,谢谢。
RewriteBase / RewriteCond s%{HTTPS} ^((s)on|s.*)$ [NC] RewriteRule ^/*(.+/)?([^.]*[^/])$ http%2://%{HTTP_HOST}/$1$2/ [L,R=301] RewriteCond %{HTTP_HOST} ^website\.?com [NC,OR] RewriteCond %{HTTP_HOST} ^www.website\.?com [NC] RewriteCond %{REQUEST_URI} !/ RewriteRule ^(.*)$ $1 [L] RewriteBase / RewriteCond s%{HTTPS} ^((s)on|s.*)$ [NC] RewriteRule ^/*(.+/)?([^.]*[^/])$ http%2://%{HTTP_HOST}/$1$2/ [L,R=301] RewriteCond %{HTTP_HOST} !^www\.website\.com RewriteCond %{HTTP_HOST} ([^.]+)\.website\.com$ [NC] RewriteCond %{REQUEST_URI} !userdir/ RewriteRule ^(.*)$ userdir/$1 [L]
你看过mod_vhost_alias吗? 它处理这个开箱即用的用例。
从添加到你的Apacheconfiguration开始:
RewriteLog /tmp/rwlog.txt RewriteLogLevel 9
运行一个user.website.com的testing,然后禁用这个function(这在性能上很难),让我们看看这个日志文件要说什么。 在日志的某个时刻,你会发现事情出错的地方…