Php 重写规则帮助

Php 重写规则帮助,php,security,apache,.htaccess,Php,Security,Apache,.htaccess,我已成功设置htaccess以执行以下操作: domain.com/ad.php?ad_id=bmw_m3_2498224 进入: 然而,我有一个网页上的链接,使网页提交给自己。。。 该链接将广告保存在cookie中: domain.com/ad.php?ad_id=bmw_m3_2498224&save=1 // Note the 'save' variable 我还需要对重写规则进行此操作,因此此链接: domain.com/ads/bmw_m3_2498224/

我已成功设置htaccess以执行以下操作:

   domain.com/ad.php?ad_id=bmw_m3_2498224
进入:

然而,我有一个网页上的链接,使网页提交给自己。。。 该链接将广告保存在cookie中:

   domain.com/ad.php?ad_id=bmw_m3_2498224&save=1 // Note the 'save' variable
我还需要对重写规则进行此操作,因此此链接:

  domain.com/ads/bmw_m3_2498224/save
将保存cookie

到目前为止,我有一个不适用于保存部分的问题:

  RewriteRule ^annons/([a-zA-Z0-9_]+)$ ad.php?ad_id=$1 [NC,L]
我怎样才能包含另一条规则来实现我的目标


谢谢

一个简单的方法是在您当前拥有的内容上方添加这一行:

RewriteRule^annons/([a-zA-Z0-9\]+)/save$ad.php?ad_id=$1&save=1[NC,L]
RewriteRule^annons/([a-zA-Z0-9\]+)$ad.php?ad\$id=$1[NC,L]


这应该在一般规则生效之前触发,并且工作方式相同。

一个简单的方法是在您当前拥有的内容上方添加这一行:

RewriteRule^annons/([a-zA-Z0-9\]+)/save$ad.php?ad_id=$1&save=1[NC,L]
RewriteRule^annons/([a-zA-Z0-9\]+)$ad.php?ad\$id=$1[NC,L]


这应该在常规规则生效之前触发,并且工作方式相同。

是的,它的排序方式-如果未设置/save,则它将继续执行您先前提供的下一个规则。您可能想要尝试的是:
RewriteRule^annons/([a-zA-Z0-9_]+)/([a-zA-Z_]+)$ad.php?ad_id=$1&$2=1[NC,L]
,它不仅会捕获“保存”,而且还会捕获其他类似于“编辑”或“删除”的东西,如果这些是您的程序理解的函数。是的,它的排序方式—如果未设置/save,则它将继续执行您前面提供的下一条规则。您可能想要尝试的是:
RewriteRule^annons/([a-zA-Z0-9_]+)/([a-zA-Z_]+)$ad.php?ad_id=$1&$2=1[NC,L]
,它不仅可以捕获“保存”,还可以捕获其他类似于“编辑”或“删除”的内容,如果这些是您的程序理解的函数的话。
  RewriteRule ^annons/([a-zA-Z0-9_]+)$ ad.php?ad_id=$1 [NC,L]