我读过几篇关于url重写的帖子,但都没有对我有帮助。
基本上在网站上我们有以".html“(http://www.domain.com/page.html)结尾的页面,我们还保留了一些其他的子域内容(http://www.domain.com/subdomain.com)
所以我尝试将这个:http://www.domain.com/subdomain.com重定向到:/www/subdomain.com/index.php
我试过了,但有点问题:
RewriteCond %{QUERY_STRING} !\.html$
RewriteCond %{QUERY_STRING} ^([^/.]+)\.([^/.]+)/?$
RewriteRule /www/%1.%2/index.php [L]我想我误解了RewriteCond的用法,但是我找不到正确的方法。我遗漏了什么?
谢谢,Rob
发布于 2012-02-07 00:36:20
这应该接近于:
RewriteCond %{QUERY_STRING} !\.html$
RewriteRule ^([^/.]+)\.([^/.]+)/(.*) /www/$1.$2/index.php?file=$3 [QSA,NC,L]注意,我已经添加了最后一部分作为index.php的查询参数。
哦,顺便说一下:
的维基
如果这还不够:
两个提示:
如果你不是在托管环境中 (=如果它是你自己的服务器,并且你可以修改虚拟主机,而不仅仅是.htaccess文件),试着使用RewriteLog指令:它可以帮助你追踪到这样的问题:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On我最喜欢用来检查regexp的工具:
http://www.quanetic.com/Regex (别忘了选择ereg(POSIX)而不是preg(PCRE)!)
https://stackoverflow.com/questions/9163362
复制相似问题