2010-12-13 72 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

相关问题