0

我正在尝试使用 mod_rewrite 重定向用户,保留多个查询字符串并创建重定向页面

例如,如果用户打开

http://localhost/url/url/http://www.google.com/contacts/?user=abc&stackoverflow=great&google=facebook

然后他被带到

http://localhost/url/url.php?redirect=http://www.google.com/contacts/?user=abc&stackoverflow=great&google=facebook

第二个问题是 URL 应该被编码然后重定向!如果 URL 未编码,则字符串 (&stackoverflow=great) 将不是 url.php 的“重定向”字符串的一部分

我尝试了许多解决方案然后来到stackoverflow!我在以下文件中尝试了以下代码

 http://localhost/url/.htaccess 

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

但结果只是 localhost/url/url.php?redirect=http

4

2 回答 2

0

您的设置不适用于未编码的内部网址,因此“答案”只能具有临时字符。但这可能是一个起点:

RewriteEngine on
RewriteRule ^/url/url/(.*)$ /url/url.php?redirect=$1 [L,QSA]

但是,我想知道该片段/url/url是否真的是有意的(那里有两个“网址”)。

请注意,确切的规则内容还取决于要定义该规则的位置。无论您使用中央服务器配置(参考)还是.htaccess样式文件(作为第二选择并且更复杂),语法都是不同的。

于 2013-02-25T08:31:40.293 回答
0

试试这个

RewriteEngine on
Redirect ^url/url/(.*)$ url/url.php?redirect=$1

基本的重定向系统,

重定向访问的文件 URL-to-go-to

于 2013-02-25T08:32:22.417 回答