2012-10-10 79 views
0

我已經配置URL重寫我的.htaccess文件。 我只是使用[L]標誌,沒有[R]標誌用於規則。 當我在我的瀏覽器中測試它,調用頁面,但...帶有參數的URL出現。當然,這是我不想要的。URL重寫:非重定向,但更改URL

我的.htaccess文件:

RewriteEngine on 
RewriteRule ^testing/([0-9a-zA-z_-]+)/([0-9a-zA-z_-]+)$ http://localhost/testing/index.php?a=$1&b=$2 [L] 

是不是因爲我在本地主機測試它?

回答

1

當您使用帶FQDN的URL時,它會自動重定向,這是因爲爲了在內部將URI重寫爲http://localhost/...,URL文件映射處理管道末尾的處理程序無論如何都會重定向(使用302)。您需要爲目標選擇本地路徑,或者如果它位於與處理請求的服務器/虛擬主機不同的位置,請使用P標誌:

指向服務器/虛擬主機的本地URI:

RewriteRule ^testing/([0-9a-zA-z_-]+)/([0-9a-zA-z_-]+)$ /testing/index.php?a=$1&b=$2 [L] 

使用P標誌代理請求:

RewriteRule ^testing/([0-9a-zA-z_-]+)/([0-9a-zA-z_-]+)$ http://localhost/testing/index.php?a=$1&b=$2 [L,P]