Php .htaccess重写规则对某些作品有效,对其他作品抛出404

Php .htaccess重写规则对某些作品有效,对其他作品抛出404,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我编写了以下重写规则: Options +FollowSymLinks -MultiViews RewriteEngine on RewriteRule ^add-post/([0-9]+)/([0-9a-zA-Z-]+)/$ add_post.php?thread_id=$1thread_name=$2 [NC,L] RewriteRule ^search/?s=([0-9a-zA-Z-]+)/$ search.php?s=$1 [NC,L] RewriteRule ^([0-9a-zA-Z

我编写了以下重写规则:

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteRule ^add-post/([0-9]+)/([0-9a-zA-Z-]+)/$ add_post.php?thread_id=$1thread_name=$2 [NC,L]
RewriteRule ^search/?s=([0-9a-zA-Z-]+)/$ search.php?s=$1 [NC,L]
RewriteRule ^([0-9a-zA-Z-]+)/$ lvl1_forum.php?forum=$1 [NC,L]
RewriteRule ^([0-9a-zA-Z-]+)/([0-9]+)/([0-9a-zA-Z-]+)/$ lvl2_thread.php?forum=$1&thread_id=$2&thread_title=$3 [NC,L]
该规则适用于所有页面,但add_post.php(存在)除外。我尝试了.htaccess,选项行位于文件顶部,重写引擎下面,但没有骰子


如何修改此文件以使“添加帖子”规则生效?

请指定源url和预期的重定向示例。另外,我不确定您的搜索uri是否有效,因为您正在尝试在
重写规则中解析查询字符串,而不是在
重写条件中解析查询字符串。您确定它可以与搜索重写一起工作吗?正如@FlorianLemaitre所指出的,如果没有
RewriteCond%{QUERY_STRING},RewriteRule在querystring上不匹配,因此不应该这样做条件第一:看你很对!它对搜索不起作用(嗯,页面至少加载了,但查询部分不起作用)。通过add post,我得到了一个完整的404错误。这就是两者的区别。对不起!好吧,我解决了。当然,这是一个愚蠢的小错误。在本例中,我的链接末尾没有斜杠。现在一切正常。非常感谢。您可以指定源url和预期重定向示例吗?另外,我不确定您的搜索uri是否有效,因为您尝试在
重写规则
中解析查询字符串,而不是
重写条件
。您确定它能与搜索重写一起工作吗?正如@FlorianLemaitre所指出的,如果没有
RewriteCond%{QUERY_STRING},RewriteRule在querystring上不匹配,因此不应该这样做条件第一:看你很对!它对搜索不起作用(嗯,页面至少加载了,但查询部分不起作用)。通过add post,我得到了一个完整的404错误。这就是两者的区别。对不起!好吧,我解决了。当然,这是一个愚蠢的小错误。在本例中,我的链接末尾没有斜杠。现在一切正常。非常感谢。