2012-03-08 59 views
1

我想讓這個很簡單的問,所以我可以希望一個簡單的迴應。我對mod重寫有點新(我所做的大部分是使用index.php?page=x和mod重寫爲這個名字的一個小cms)。在我開始在這裏工作時,我有一個由外國人爲我的公司創建的購物車,幾乎沒有任何文檔,他們要求我讓購物車搜索引擎友好。我不會對細節過於骯髒,只需要提出一個問題。國防部重寫與分頁

我有,比方說,results.php?name=friendly-url。我編輯了我的.htaccess,因此我可以通過友好的網址訪問這些網頁。它完美的作品。

RewriteRule ^([A-Za-z0-9-]+).html$ results.php?name=1 

現車已就寫到有點笨拙只是因爲$_GET變量是愚蠢命名分頁。我試圖找出,不必變得非常骯髒,不得不重新命名文件或重新路由代碼中的目錄,以便做出簡單友好的分頁。

我正在尋找的最終結果類似於starter-kits-01.htmlstarter-kits-02.html等。這是我一直試圖讓某些東西起作用的mod重寫。

RewriteRule ^[A-Za-z-0-9-]+).html?p=([0-9]+)$ results.php?name=$1&pageNum_rsCWResults=$2 

那我相信應該允許我呈現starter-kits.html?p=2。我沒有得到mod重寫錯誤,但它搞亂了我的$_GET變量。我不能這樣做,例如,/starter-kits/2/不會弄髒,不得不經過外國人制造的這個混亂的代碼,並改變500行目錄。

我已經花了大約30分鐘的時間,今天還有3個其他項目正在進行,所以我會在等待有人更熟悉mod改寫的時候轉移到那些項目上來幫助我手。

非常感謝。

+0

[查詢字符串和Mod重寫]的可能重複(http://stackoverflow.com/questions/487726/query-strings-mod-rewrite) - 請先使用搜索,也可以參閱右側的相關部分。 – hakre 2012-03-08 23:09:32

回答

0

重寫你需要做的應該在PHP本身來完成,只需要在國防部重寫幾行頁面。我真的建議你下載Drupal或WordPress的副本,看看他們是如何做到的。但基本上這是它應該如何工作。

您創建一個URL的結構是這樣的:

  • 產品搜索/貓玩具
  • 產品搜索/貓玩具/頁-1(應指向同一個地方以前的URL )
  • 產品搜索/貓玩具/頁-2(也可以使用「產品搜索/貓玩具/頁/ 2)

你把你的網站,並擁有一切通過中央索引繼電器.php文件,mod重寫需要處理這個,你只需要使用您網站上的網址和PHP將傳遞參數並將其解析爲URL結構,然後將您帶到結果中。

本質上,URL路徑通過mod rewrite傳遞給index.php一個參數。

樣品國防部重寫條目(從Drupal的,非常類似於WordPress的):

# Rewrite URLs of the form 'x' to the form 'index.php?q=x'. 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !=/favicon.ico 
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

請看看這些系統,以獲得更好的主意。 WordPress是一個更簡單,更直接的系統。