2015-02-11 52 views
0

我的網站上有動態網頁,如如何從URL中使用的htaccess或其他技術去除多個查詢字符串變量

http://www.example.com/detailpage.php?sn=1%20&&%20database=news 
http://www.example.com/detailpage.php?sn=1%20&&%20database=article 
http://www.example.com/detailpage.php?sn=1%20&&%20database=interview 

等諸多

我想刪除或網址隱藏查詢字符串變量,顯示爲

http://www.krishisansar.com/detailpage/news/1 
http://www.krishisansar.com/detailpage/article/1 

是否可以將查詢字符串更改爲斜槓?如果不是,如何去除&,並作出

/news=1 or /news=2, 
/article=1 or /article=2 . 

通過這種方式,我可以從W3C驗證。

回答

2

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代碼:

Options -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteCond %{THE_REQUEST} /detailpage\.php\?sn=([^\s&]+)&database=([^\s&]+) [NC] 
RewriteRule^detailpage/%2/%1? [R=302,L,NE] 

RewriteRule ^detailpage/(\w+)/(\d+)/?$ detailpage.php?sn=$2&database=$1 [L,QSA,NC] 
+0

感謝您的快速反應,仍網址會相同。也許,我無法用有意義的方式解釋我的問題。我的子目錄(新聞)索引文件包含此代碼:** ..相同的子目錄(文章)索引文件包含此代碼:..。所有子目錄都有相同的方式。在detailpage.php中,它以sn = $ sn & database = $ database **的形式傳遞,並顯示爲detailpage.php?sn = $ sn&database =''(根據名稱)。我想要顯示$ database/$ sn。感謝您的關注 – 2015-02-11 09:44:01

+1

好吧檢查更新的規則。確保這是在根.htaccess(一級以上新聞) – anubhava 2015-02-11 10:11:35

+1

神奇。你真的節省了我的時間。這對我來說非常合適。根據你的代碼,url顯示爲我的願望,但打印mysql錯誤。我想最後一行RewriteRule^detailpage /(\ w +)/(\ d +)/?$ detailpage.php?sn = $ 2database = $ 1 [L,QSA,NC] **缺失** ** sn = $ 2之間**和**數據庫= $ 1 **。當我添加**&**錯誤已解決但css規則受到干擾。我很困惑,加**&**錯了,或者我的內部結構錯了? – 2015-02-11 11:45:00

相關問題