2012-05-19 76 views
1

我有以下URL結構:變化的動態網址與的.htaccess

www.mysite.com/temporary/articles.php?artid=1 

我想與

www.mysite.com/temporary/articles/article-title-here. 

任何改變它可以告訴我,我該怎麼辦呢?

我也有它的兩個varialbes鏈接:我正努力使它

www.mysite.com/temporary/products.php?catid=1&productid=1 

www.mysite.com/temporary/products.php/category-name/product-name 

在此先感謝。

卓然

回答

0

要做到這一點,你會需要某種類型的腳本,它可以映射文章/分類/產品名稱的ID。你是你自己的,只要寫這個劇本,但它可以沿着這個線的東西:

  1. 如果有一個查詢字符串變量article-name,然後取它的價值,查找數據庫(或任何存儲您正在使用)並查看文章ID是什麼,然後加載/temporary/articles.php?artid=ID,其中ID是給定標題的ID。
  2. 如果存在查詢字符串變量product-name和/或category-name,請查看數據庫以查看這些名稱的類別和產品ID,然後使用適當的ID加載/temporary/products.php?catid=1&productid=1
  3. 否則,這樣做將返回404條

相關的重寫規則來做到這一點假設你寫這個PHP腳本是在/my-controller.php

RewriteRule ^temporary/articles/(.+)$ /my-controller.php?article-name=$1 [L] 
RewriteRule ^temporary/products.php/([^/]+)/(.+) /my-controller.php?category-name=$1&product-name=$2 

所以,如果有人請求http://www.mysite.com/temporary/articles/foo-article,它將被重寫爲/my-controller.php?article-name=foo-article,並且當有人請求http://www.mysite.com/temporary/products.php/bars/foo-product時,它將被重寫爲/my-controller.php?category-name=bars&product-name=foo-product,它取決於您編寫的腳本以執行必要的ID查找,然後將其傳遞給articles.php或products.php腳本。