PHP - 如何在浏览器中显示自定义页面URL

时间:2014-08-22 05:39:53

标签: php .htaccess iis-7 url-rewriting

我正在使用带有PHP和MySQL的Windows IIS 7.

每当有人在我的网站上开设帐户时,他/她也会创建一个商店ID,如MyHawaiiSpa。生成此商店标识后,将无法更改。在这里,我假设此帐户的pkid为1.

现在,访问者点击主页上的MyHawaiiSpa商店链接。访问者将被发送到shop.php,其中将显示属于MyHawaiiSpa的所有项目。点击MyHawaiiSpa商店上的任何产品,系统会打开product.php页面,其中会显示产品详情。

目前,我在PHP中使用querystring进行了管理。所以每个商店的区别如下:mywebsite.com/user/shop.php?sid=1

我现在的问题是:我希望访问者点击主页上的MyHawaiiSpa商店链接,以便访问者看到mywebsite.com/user/MyHawaiiSpa/shop.php而不是mywebsite.com/user/shop.php?sid=1(我有已经完成了。)

我想到的解决方案是:每当有人打开帐户并创建商店ID时,都会创建文件夹MyHawaiiSpa以及shop.phpproduct.php页面将以编程方式复制到MyHawaiiSpa文件夹下。对于将要创建的所有商店,将重复此过程。

有没有其他方法可以做到这一点,所以我不需要为每个商店创建一个文件夹和复制文件,但我仍然可以获得所需的结果,我刚刚在上面解释过?

3 个答案:

答案 0 :(得分:1)

执行此操作的一个好方法是.htaccess重写,它允许您将查询转换为SEO友好的URL,并且在该页面上调用时仍然可以正确读取。

Here is an example

答案 1 :(得分:1)

当有人注册时复制PHP文件是个坏主意,长期维护它会很麻烦,你只需要将ID MyHawaiiSpa存储为数据库中的唯一键。并在网址中使用store id作为slug。

因为你在这里使用IIS是一个很好的读取重写URL

http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality

  1. 您可以从this link了解.htaccess mod_rewrite

  2. 然后您可以使用this link

  3. 将这些规则转换为IIS7友好

答案 2 :(得分:1)

您需要使用网址重写。这很容易学习和实施。

在Linux服务器上,使用文件调用.htaccess完成。在IIS上我认为文件被调用 的web.config

基本上这是做什么的,你将它配置为显示一个网址,而实际上你去另一个网址。

这些链接可以帮助您快速启动并运行

http://www.robbagby.com/php/php-and-iis-running-php-under-fast-cgi-and-url-rewriting/

http://salopek.eu/content/26/introduction-to-url-rewriting-using-iis-url-rewrite-module-and-regular-expressions

https://www.youtube.com/watch?v=guzJWqNJ3DA&feature=channel

http://www.phpgenious.com/2010/04/url-rewriting-with-php-and-iis-7/

http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality