2010-12-13 53 views
1

在使用tomcat的JSP中,我可以指定一個目錄去一個servlet處理程序並使用文件名作爲參數。 有什麼辦法可以在PHP中做到這一點。PHP通配符頁面處理程序

的這本例中的目的是我有一個店,所以所有的產品都是形式

shop_view.php?cat=3 
shop_detail.php?id=432 

的,雖然這些工作,我不是完全刪除這些,這將是很好當提供鏈接到產品的人給予鏈接,如

products/bottle_brush 
categories/accessories 

我可以很容易地從數據庫中查找。如果我能趕上目錄產品/ *和類別/ *

+0

你在哪些服務器軟件上? Apache的? – 2010-12-13 10:56:29

+1

這聽起來像是Apache的[mod_rewrite](http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html)的工作。 – 2010-12-13 10:58:02

+0

這是在Apache的是的,我將不得不檢查什麼是可用的。 – Woody 2010-12-13 11:18:05

回答

1

您首先需要存儲產品和類別蛞蝓隨產品一起在數據庫中,並確保它們是唯一的(如果需要) 。

然後,你需要實現請求shop_detail.php?蛞蝓= bottle_brush和shop_view.php?貓=配件

最後,如果你使用的是Apache和國防部重寫模塊被激活,您可以使用.htaccess文件來重寫你的URL(沒有測試過,請參考mod_rewrite文檔和.htaccess教程):

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^products\/(.+)$ [NC] 
RewriteRule ^(.*)$ shop_detail.php?slug=$1 [R,L] 
+0

謝謝你的信息。我將檢查是否可以使用mod_rewrite。我從來沒有意識到這是它可以做的! – Woody 2010-12-13 11:19:09

1
+0

有史以來最短的答案。恕我直言,當然會更詳細地被接受。無論如何,你可以用'.htaccess'來開發一個例子(因爲我們不知道他是否可以訪問_httpd.conf_) – Shikiryu 2010-12-13 11:05:31

+0

他不需要再輸入任何東西 - 點擊mod_rewrite,它會將你帶到手冊。 。 – DreamWave 2010-12-13 11:18:32

+0

感謝您的信息,我給了下面的'如何使用'部分的答案,因爲它覆蓋了它好一點,但無論如何感謝 – Woody 2010-12-13 11:19:38