2017-06-21 59 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