如何编写htaccess规则缩短url格式以获取代码和查询参数

时间:2014-09-04 14:32:47

标签: .htaccess mod-rewrite

我想抓住“xyz”& GET请求中的“12”。

这是我的实际网址:http://www.domain.com/xyz?a=12

我的代码无效:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)?a=([0-9]*) click.php?short=$1&acc=$2 [L]

1 个答案:

答案 0 :(得分:1)

您必须使用QUERY_STRING来捕获查询字符串。

用这个替换你当前的代码

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^a=([0-9]*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^()$
RewriteRule ^([^/]+)$ click.php?short=$1&acc=%1 [L]