重定向许多文件夹和许多参数

时间:2012-12-19 06:11:56

标签: .htaccess mod-rewrite

需要重定向,我将尝试用一个例子来解释:

在浏览器网址栏中输入地址:

http://example.com/any/folders/qty/FileName/?any number of key-value pairs separated by &

重定向到以下网址:

http://example.com/any/folders/qty/FileName/FileName.php?any number of key-value pairs separated by &

用Google搜索了一个合适的解决方案并进行了搜索,但找不到任何有类似工作答案的东西,可能是因为大多数问题都很混乱。我希望这个很清楚。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI}  ^.*/([^/]*)/.*$ [NC]
RewriteRule ^(.*)/?$    $1%1.php? [L]

将映射:

http://example.com/any/folders/qty/FileName/?key1=var1&key2=var2&key3=var3

以此作为资源地址:

http://example.com/any/folders/qty/FileName/FileName.php?key1=var1&key2=var2&key3=var3

答案 1 :(得分:0)

使用此:

 RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f

 RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

说你的网址是:

 url=http://www.example.com/page/view?id=10&name=about_us
index.php

中的

 $req=$_REQUEST['url'];
 $reqExtracted=explode('/',$req);
 $folder=$reqExtracted[0];
 $pagename=$reqExtracted[1];

 $id=$_REQUEST['id'];
 $name=$_REQUEST['name'];