Php 使用mod_Rewrite重写目录,但保留查询字符串

Php 使用mod_Rewrite重写目录,但保留查询字符串,php,wordpress,.htaccess,mod-rewrite,Php,Wordpress,.htaccess,Mod Rewrite,我想在.htaccess文件中使用mod_rewrite以以下方式重写Word Press URL: http://blog.com/content/themes/twentyeleven/style.css 到 及 到 及 到 我试图隐藏这样一个事实,即这个网站正在使用Word Press,所有链接都已使用PHP动态重写。但是,我希望服务器重写链接回到正确的Word Press,如上所述 如果有帮助,我已经在Wordpress index.php文件前面添加了一个文件(在我的php.ini文

我想在.htaccess文件中使用mod_rewrite以以下方式重写Word Press URL:

http://blog.com/content/themes/twentyeleven/style.css

我试图隐藏这样一个事实,即这个网站正在使用Word Press,所有链接都已使用PHP动态重写。但是,我希望服务器重写链接回到正确的Word Press,如上所述

如果有帮助,我已经在Wordpress index.php文件前面添加了一个文件(在我的php.ini文件中),该文件调用ob_start();函数,然后附加以下文件:

<?php
$html = ob_get_contents();
ob_end_clean();
$html = str_replace("wp-content", "content", $html);
$html = str_replace("wp-admin", "admin", $html);
$html = str_replace("wp-includes", "inc", $html);
echo $html; 
?>

有些人可能会问,我为什么要隐瞒我们使用Word Press的事实。原因有很多(安全性是其中之一),但这并不是这个问题的重点


我可以向.htaccess文件中添加哪些代码,使我能够重写URL,但保留正确的查询字符串,如?ver=20110622或?post=1&action=edit

重写URL时,
[QSA]
标志将保留查询字符串。例如:

RewriteRule ^content/(.*?) wp-content/$1 [QSA]

[QSA]
标志将在重写URL时维护查询字符串。例如:

RewriteRule ^content/(.*?) wp-content/$1 [QSA]

谢谢你的快速回复。不幸的是,我得到一个404,所以它似乎不工作。请不要复制粘贴,这是一个例子。你需要修改它才能使用你的服务器。我没有完全复制和粘贴,但我认为它应该可以在我的服务器上使用。我假设^content/(.*)位将拾取任何以“content/”开头的url,并将其整体重写为wp content/…这就是它所做的。尝试将
L
标志添加到上述规则中(看起来像
[L,QSA]
)。这将确保没有其他重写规则干扰。我认为Word Press干扰了这一点,这非常令人沮丧。你已经回答了我的具体问题,这是很好的,但我不能让它在我的情况下工作。我会玩一玩,看看能不能看出问题所在。我将把你的答案标为被接受的答案,因为它确实回答了我的问题。谢谢。谢谢你的快速回复。不幸的是,我得到一个404,所以它似乎不工作。请不要复制粘贴,这是一个例子。你需要修改它才能使用你的服务器。我没有完全复制和粘贴,但我认为它应该可以在我的服务器上使用。我假设^content/(.*)位将拾取任何以“content/”开头的url,并将其整体重写为wp content/…这就是它所做的。尝试将
L
标志添加到上述规则中(看起来像
[L,QSA]
)。这将确保没有其他重写规则干扰。我认为Word Press干扰了这一点,这非常令人沮丧。你已经回答了我的具体问题,这是很好的,但我不能让它在我的情况下工作。我会玩一玩,看看能不能看出问题所在。我将把你的答案标为被接受的答案,因为它确实回答了我的问题。谢谢
http://blog.com/admin/post.php?post=1&amp;action=edit
http://blog.com/wp-admin/post.php?post=1&amp;action=edit
<?php
$html = ob_get_contents();
ob_end_clean();
$html = str_replace("wp-content", "content", $html);
$html = str_replace("wp-admin", "admin", $html);
$html = str_replace("wp-includes", "inc", $html);
echo $html; 
?>
RewriteRule ^content/(.*?) wp-content/$1 [QSA]