我正在使用带有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.php
和product.php
页面将以编程方式复制到MyHawaiiSpa
文件夹下。对于将要创建的所有商店,将重复此过程。
有没有其他方法可以做到这一点,所以我不需要为每个商店创建一个文件夹和复制文件,但我仍然可以获得所需的结果,我刚刚在上面解释过?
答案 0 :(得分:1)
执行此操作的一个好方法是.htaccess重写,它允许您将查询转换为SEO友好的URL,并且在该页面上调用时仍然可以正确读取。
答案 1 :(得分:1)
当有人注册时复制PHP文件是个坏主意,长期维护它会很麻烦,你只需要将ID MyHawaiiSpa
存储为数据库中的唯一键。并在网址中使用store id
作为slug。
因为你在这里使用IIS是一个很好的读取重写URL
答案 2 :(得分:1)
您需要使用网址重写。这很容易学习和实施。
在Linux服务器上,使用文件调用.htaccess完成。在IIS上我认为文件被调用 的web.config
基本上这是做什么的,你将它配置为显示一个网址,而实际上你去另一个网址。
这些链接可以帮助您快速启动并运行
http://www.robbagby.com/php/php-and-iis-running-php-under-fast-cgi-and-url-rewriting/
https://www.youtube.com/watch?v=guzJWqNJ3DA&feature=channel
http://www.phpgenious.com/2010/04/url-rewriting-with-php-and-iis-7/