2011-06-14 66 views
0

我想在.htaccess文件中编写规则。重写规则不影响网站

我写的规则是这样的:

RewriteCond %{QUERY_STRING} ^id=([0-9]+)&dgid=([0-9]+)$ 
RewriteRule destination_content-id-(.*)-dgid-(.*)\.htm$ destination_content.html?id=$1&dgid=$2 [L] 

重新启动服务器。

在它有以下规则之前。

RewriteEngine on 
     # Parse out basename, but remember the fact. 
     RewriteRule ^(.*)\.html$    $1  [C,E=WasHTML:yes] 
     # Rewrite to document.phtml if exists... 
     RewriteCond %{REQUEST_FILENAME}.phtml -f 
     RewriteRule ^(.*)$     $1.phtml [S=1] 
     # ...else reverse the previous basename cutout. 
     RewriteCond %{ENV:WasHTML}   ^yes$ 
     RewriteRule ^(.*)$     $1.html 

它工作正常。

但我的规则不起作用。

请帮我解决这个问题。

感谢, Srilu

+0

什么是你想用你的重写规则呢? – 2011-06-14 14:53:30

+0

似乎很奇怪,只有当URL已经具有相同格式的QueryString时,才会要求重写为content.html?id = &gid = ?xxx- -yyy- ?zzz你有没有尝试删除RewriteCond?它似乎不属于这里。但也许你可以详细一点。 – 2011-06-16 00:36:04

回答

0

离开了的RewriteCond(它不匹配重写规则)。

你只需要重写规则,我想你希望它看起来是这样的:

RewriteEngine on 
RewriteRule destination_content-id-([0-9]+)-dgid-([0-9]+)\.htm$ destination_content.html?id=$1&dgid=$2 [L] 
+0

是的,但它不工作。你能帮我解决这个问题吗? – srilu 2011-06-21 10:39:48

+0

你的网址是什么样的?你想重写什么? – JochenJung 2011-06-21 11:04:29