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

时间:2015-04-25 10:34:18

标签: php apache .htaccess mod-rewrite rewrite

我正在尝试编写重写规则,我想更改此内容:

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

为:

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

ADTECH.php中的$ _Get喊出来:

$_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=$1&b=$2 

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

1 个答案:

答案 0 :(得分:0)

您可以在/adServer/js/.htaccess

中使用此代码
RewriteEngine On
Options +FollowSymlinks 
RewriteBase /adServer/js/ 

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

变更是:

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