让我举例说明:
每当有人在我的网站上开设帐户时,他/她还将创建一个商店ID,例如MyHawaiiSpa
。商店ID一旦生成,便无法更改。在这里,我假设pkid
此帐户为1。
现在,访问者单击MyHawaiiSpa
主页上的商店链接,访问者将被发送到shop.php
所有项目所属的位置MyHawaiiSpa
。通过单击MyHawaiiSpa
商店中的任何产品,将打开product.php
提到产品详细信息的页面。
目前,我已经使用PHP中的查询字符串来管理它。因此,每个商店的区别如下:
mywebsite.com/user/shop.php?sid=1
根据互联网学习情况,我尝试了以下操作,但不起作用。
我想得到我在这里提到的结果:
www.mywebsite.com/user/shop.php?mid=1&sid="MyHawaiiSpa"
或者
www.mywebsite.com/user/shop.php?sid="MyHawaiiSpa"
到
www.mywebsite.com/user/MyHawaiiSpa
这是我到目前为止的内容:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Product Details 1" enabled="true" stopProcessing="true">
<match url="^user/(.+)$" />
<action type="Rewrite" url="user/shop.php?sid={R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
下面是我现在可以使用的最终代码。
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="QueryStringDynamicRewrite" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(admin|mdm|user/includes)" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="user/shop.php?sid={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
对于IIS 7或更高版本的重要事项Web服务器,Web.Config,PHP,MySQL组合。
以前我使用的是“ ^ user /(.+)$,现在我已经将其替换为” ^ user /(.*)$"。(+符号替换为*)。
我已与我的网络托管服务器提供商GoDaddy确认,他们说我们应该在IIS中使用Web.Config。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句