首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RewriteCond不匹配?

RewriteCond不匹配?
EN

Stack Overflow用户
提问于 2012-02-07 00:21:06
回答 1查看 8.4K关注 0票数 2

我读过几篇关于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

我试过了,但有点问题:

代码语言:javascript
复制
RewriteCond %{QUERY_STRING} !\.html$
RewriteCond %{QUERY_STRING} ^([^/.]+)\.([^/.]+)/?$
RewriteRule /www/%1.%2/index.php [L]

我想我误解了RewriteCond的用法,但是我找不到正确的方法。我遗漏了什么?

谢谢,Rob

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-07 00:36:20

这应该接近于:

代码语言:javascript
复制
RewriteCond %{QUERY_STRING} !\.html$
RewriteRule ^([^/.]+)\.([^/.]+)/(.*) /www/$1.$2/index.php?file=$3 [QSA,NC,L]

注意,我已经添加了最后一部分作为index.php的查询参数。

哦,顺便说一下:

这是serverfault.com

  • The howto's htaccess official guide

  • The official mod_rewrite guide

的维基

如果这还不够:

两个提示:

如果你不是在托管环境中 (=如果它是你自己的服务器,并且你可以修改虚拟主机,而不仅仅是.htaccess文件),试着使用RewriteLog指令:它可以帮助你追踪到这样的问题:

代码语言:javascript
复制
# 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)!)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9163362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档