2016-06-10 72 views
0
RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/mobile/acct 
RewriteRule ^/* http://webtest.bca.com/my-account/viewMyBill.html? [R] 

以上工作包含在請求URI的/mobile/acct請求,但他們也符合其他條件我有,我有兩個或更多的條件,然後重定向。一個確切的URL匹配的Apache重寫條件和重寫規則,沒有絕對的URL追加

我期待修改上述內容以查找完全匹配,^URI$不起作用,以^開始URI並以$結尾並不適用於「完全匹配」,並將其所有其他條件重定向到相同viewMyBill.html在我的其他條件中確實在URL中包含/ mobile/acct,但他們還有其他條件可以滿足並重寫爲唯一的url。

請幫忙,我試圖找出「完全匹配」網址並重定向到「絕對URL」,但沒有其他附加附加內容,我一直拔掉頭髮。

謝謝你提前! Siddh

+0

*月*的RewriteCond%RewriteEngine敘述{REQUEST_URI}^/移動/ ACCT *重寫規則^/* http://webtest.bca.com/my-account/viewMyBill.html? [R] – Siddh

回答

0

的模式

每目錄重寫
`RewriteRule - ...
- 刪除的前綴始終以斜線結束,這意味着發生匹配對一個字符串,它從未擁有領先的斜線。 因此,在每個目錄上下文中使用^/never匹配的模式。

這意味着匹配的準確路徑,開始沒有斜線。

還添加了一個L標誌作爲R|redirect

建議您將幾乎總是需要結合使用[R]與[L](即使用[R,L]),因爲它自己,[R]標誌將前綴http://thishost[:thisport]添加到URI,但是會將此傳遞給規則集中的下一個規則,這通常會導致「請求中的URI無效」警告。

RewriteRule ^mobile/acct$ http://webtest.bca.com/my-account/viewMyBill.html? [R,L] 

如果置換是在同一個域,則不需要重複方案和主機。

RewriteRule ^mobile/acct$ /my-account/viewMyBill.html? [R,L]