2017-06-21 70 views
1

我有一个像下面添加新的参数,以现有的URL中使用的htaccess

http://filespecification.phpnet.us/index3.php 

一个URL,但我想一个附加参数添加到该网址,如下所示。

http://filespecification.phpnet.us/index3.php?email= 

对于这个我使用.htaccess额外的参数来重定向,但它不是重定向仍显示原来的URL。

RewriteRule /index3.php$ index3.php?email=$1 [R]

但它无法正常工作。我怎样才能重定向与额外的参数?

+0

什么是'email'您所期望的价值? –

+0

没有定义'$ 1' – modsfabio

+0

删除规则模式中的前导斜杠。 – starkeen

回答

1

试试这个简单的。希望这会有所帮助。我已经测试过它。

QUERY_STRING不包含电子邮件。

2.如果请求的URI是index3.php重定向到/index3.php?email=somevalue

标志:

R用于重定向。

L最后的重定向。

QSA查询字符串追加

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^(?!email) 
RewriteRule index3.php$ /index3.php?email=somevalue [L,R,QSA] 

您可以点击这里这.htaccess代码http://htaccess.mwl.be/

+0

它的作用,你能解释一下,第一行的功能是什么? 'RewriteCond%{QUERY_STRING}^$' –

+0

很好理解你,但是现在我把你的规则改为这个'RewriteRule。* $ /index.php?email= [L,R]'表示有人访问'http:// filespecification.phpnet.us'它重定向到'http://filespecification.phpnet.us/index.php?email =',但所有图像都不显示。 –

+0

我得到了问题,在你的网站上你有'img /办公室。png'这是你的形象的链接,我不能被访问,因为你已经将所有请求重定向到'index.php' –

0

由于前导斜杠,您的规则不起作用。你需要删除它。

RewriteCond %{THE_REQUEST} !\?email= [NC] 
RewriteRule index3.php$ /index3.php?email=mail [L,R] 
+0

它重定向,但浏览器说*此页面无法正常工作 filespecification.phpnet.us重定向您太​​多次* –

+0

对不起,我忘了添加条件来检查空查询字符串。固定。 – starkeen