2013-09-24 47 views
2

的問題htaccess的重寫查詢字符串沒有什麼作品

看着50+的StackOverflow職位,盡我htaccess文件的許多排列後,它什麼都不做還。

我曾嘗試

使用本網站生成我htaccess文件:http://www.generateit.net/mod-rewrite/

在我的httpd.conf文件中設置了AllowOverride所有和重啓動Apache。

MY CURRENT htaccess文件

住在根目錄下。

RewriteEngine On 
RewriteBase/
RewriteRule ^find-a-local-doctor/([^/]*)/([^/]*)$ /find-a-local-doctor/?state=$1&city=$2 [L] 

什麼,我想完成

更改此網址: http://www.md1network.com/find-a-local-doctor/?state=FL&city=Tampa

要這樣: http://www.md1network.com/find-a-local-doctor/FL/Tampa

進行追加

由於正在做這項工作的實際文件是:http://www.md1network.com/find-a-local-doctor/index.php,我需要能夠使用PHP解析查詢字符串。希望我仍然能夠做到這一點,以獲得國家和城市。

請幫忙。 謝謝。

+0

看起來很好,你現在面臨的問題到底是什麼。請說清楚。 – anubhava

+0

當我去http://www.md1network.com/find-a-local-doctor/?state=FL&city=Tampa時,url不會按照我想要的方式重寫。它什麼也沒做。 –

回答

1

您現有的規則看起來不錯,但您需要一個額外的外部重定向規則來反向。將此規則放在現有規則之前(僅在RewriteBase /以下)。

# external redirect from actual URL to pretty one 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(find-a-local-doctor)/(?:index\.php)?\?state=([^&]+)&city=([^&\s]+) [NC] 
RewriteRule^/%1/%2/%3? [R=301,L] 
+0

試圖將此添加到我的原始規則,它仍然沒有做任何事情。 –

+0

哦,我在上面的規則中找到一個本地醫生之後''失蹤了。代碼編輯,現在試試。 – anubhava

+0

好吧,工作,但現在我的頁面拋出一​​個404錯誤,而不是將查詢字符串參數傳遞給index.php頁面。 –