我有一個包含catname(catename)和catid(23)的表。 現在在URL我顯示catid = 23。 我已經定義了一個重寫規則,顯示example.com/13在網址是:example.com?catid=13 是否有可能實現以下.htacces顯示名稱而不是id
在網址:example.com/catename 實際頁面則顯示:example.com?catid = 13
我有一個包含catname(catename)和catid(23)的表。 現在在URL我顯示catid = 23。 我已經定義了一個重寫規則,顯示example.com/13在網址是:example.com?catid=13 是否有可能實現以下.htacces顯示名稱而不是id
在網址:example.com/catename 實際頁面則顯示:example.com?catid = 13
如果您的類別名稱不唯一,最好的做法是使用example.com/13-catname等網址。 更改您的重寫規則以提取ID並將其傳遞給PHP腳本。
這是可能的。您需要確保catname
是唯一的,如果不是,則需要添加其他字段permalink/uniqid以包含唯一且友好的網址別名。
RewriteRule ^/(\s+)$ ./index.php?catname=$1
您需要在您的PHP文件中檢查catname
並進行相應的處理。
首先,您還希望在URL中發送類別名稱。
然後使用,在.htaccess
:
RewriteRule ^(.*)-c-(.*).html$ product_info.php?catid=$2%1
它爲我工作。
另一種解決方案
如果你只想顯示catname
,不catid
,那麼你要在表中創建一個新的領域具有獨特的關鍵。然後保存您要在URL中顯示的類別的別名。
但我不希望它像example.com/catname/catid它應該像example.com/catname –
如果只想顯示carname而不是catid然後你想在表格中創建新的字段。然後保存你想在url中顯示的別名的別名。 – 2012-11-30 12:36:11
想一想。領域也有獨特的鑰匙。 – 2012-11-30 12:36:45
感謝您的建議。現在我懂了。由於catname不是唯一的,兩個頁面可以具有相同的url,因此我必須確保它是唯一的。我可以在前面添加Id以使其具有獨特性。從這個名字我可以實現這一點。非常感謝。
catid和catname是動態鏈接的,catid是唯一的,名稱可以是相同的 –