与 相关的另一个问题 - 如果您需要尽快实现URL重写,您使用或了解的一些方法可以加快这一点?
我们设法在8小时内完成了数百种产品。这是我们的场景:
我们有:
我们的产品表看起来像这样:
ID | Product Name | Description | etc
-------------------------------------
001|Product 1 | This is... | etc
002|Product 1 | This is... | etc
003|Product 1 | This is... | etc
所以我们编写了一个小批量程序,它将循环遍历products
表并在httpd.ini
文件中创建条目(ISAPI重写版本的.htaccess
),这样我们最终得到一个文件像这样的数百个条目:
RewriteRule (/product-1/) /DLLFolder/Requester.dll?APPLICATION=MyApp&PROGRAM=Products&ARGUMENTS=-N001 [I,O,U]
*请参阅免责声明
我们的产品不会经常更改,所以我们每次添加时都会手动重新运行。不优雅,但这是为了快速/便宜地完成它。
然后,在我们的链接打印到产品的任何地方,我们只是确保链接输出到他们的完整URL。
这总共花了大约8个小时。
单个通用URL重写规则,如下所示:
RewriteRule (/products/)(.*/)(.*) /DLLFolder/Requester.dll?APPLICATION=MyApp&PROGRAM=Products&ARGUMENTS=-N$3 [I,O,U]
*请参阅免责声明
这意味着我们可以写:
/products/my/thing/whatever/the/hell/i/want/123
它会重写为正确的URL。然后,只需更改URL链接的输出即可。
*免责声明:我的正则表达式技巧非常生疏,我当场制作了这些技巧。他们可能是错的。你对实际正则表达式的看法可能会有所不同,但这个概念仍然存在。