如何在htaccess中添加参数以便在htaccess中重写条件

时间:2014-11-21 15:58:33

标签: php .htaccess

我有一个下面的HTACCESS文件

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+viewgallery\.php\?cname=([^&\s]+)&pcaption=([^&\s]+)
RewriteRule ^ /photos/%1/%2/? [R=301,L]
RewriteRule ^photos/([^/]+)/([^.]+)/$ /viewgallery.php?cname=$1&pcaption=$2 [L,NE] 

现在我想为搜索条件q添加第三个参数。我怎样才能添加这个以及如何获得它?

2 个答案:

答案 0 :(得分:1)

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+viewgallery\.php\?cname=([^&\s]+)&pcaption=([^&\s]+)&q=([^&\s]+)
RewriteRule ^ /photos/%1/%2/%3/? [R=301,L]
RewriteRule ^photos/([^/]+)/([^.]+)/([^.]+)/$ /viewgallery.php?cname=$1&pcaption=$2&q=$3 [L,NE] 

答案 1 :(得分:1)

为3个参数设定一套新规则:

RewriteCond %{THE_REQUEST} \s/+viewgallery\.php\?cname=([^&\s]+)&pcaption=([^&\s]+)&q=([^&\s]+)
RewriteRule ^ /photos/%1/%2/%3/? [R=301,L,NE]

RewriteCond %{THE_REQUEST} s/+viewgallery\.php\?cname=([^&\s]+)&pcaption=([^&\s]+)\s    
RewriteRule ^ /photos/%1/%2/? [R=301,L,NE]

RewriteRule ^photos/([^/]+)/([^.]+)/([^.]+)/?$ /viewgallery.php?cname=$1&pcaption=$2&q=$3 [L,QSA,NC] 

RewriteRule ^photos/([^/]+)/([^.]+)/?$ /viewgallery.php?cname=$1&pcaption=$2 [L,QSA,NC]