RewriteCond 不匹配?

问题描述 投票:0回答:1

我读过几篇 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 的用法,但我不知道如何正确执行它。 我错过了什么?

谢谢, 罗布

mod-rewrite
1个回答
4
投票

这应该可以解决您的 URL 重写需求:

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

要在自己的服务器上调试,请添加:

RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On

有用的资源:

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.