如何使用过滤目录和保留参数获取 .htaccess 重写规则

How to get an .htaccess rewrite rule with filtering directory and keeping parameters

我正在尝试编写重写规则,我想更改它:

http://domain.de/adServer/js/first/sec/ADTECH?loc=300&alias=Home&misc=1429871690242

至:

http://domain.de/adServer/js/ADTECH.php?a=&b=

哪里$_Get在ADTECH.php喊是:

$_GET['a']=first | $_GET['b']=sec | $_GET['loc']=300 | $_GET['alias']=Home

.htaccess 文件将放在 root/adServer/js 中。 我试过了没有成功:

RewriteEngine On
Options +FollowSymlinks 
RewriteBase / 

RewriteCond %{REQUEST_URI} /adServer/js/(.*)/(.*)/ADTECH$ 
RewriteRule (.*)/(.*)/ADTECH$ /adServer/js/test.php?a=&b= 

(我的代码将 $_GET['a']=first | $_GET['b']=sec 作为新参数,但是给定参数有什么用?)

您可以在 /adServer/js/.htaccess 中使用此代码:

RewriteEngine On
Options +FollowSymlinks 
RewriteBase /adServer/js/ 

RewriteRule ^([^/]+)/([^/]+)/ADTECH/?$ test.php?a=&b= [L,QSA,NC]

变化是:

  1. RewriteRule 中添加所需的标志。 Esp 重要的是 QSA 保留原始查询字符串。
  2. 适当添加RewriteBase.
  3. 删除多余的RewriteCond
  4. RewriteRule中使用相对路径重写。