【发布时间】:2017-06-25 14:32:18
【问题描述】:
我希望重写我的 URL,使其更加 SEO 和用户友好,我在这方面花费了大量时间,并且正在努力了解重写过程的工作原理。
我遇到的一个问题是我的网站使用子域被分成几个部分,该网站是一个比较网站,可让您找到产品的详细信息或将产品与另一个产品进行比较。相机部分位于“cameras.specced.co.uk”下,我将来还会制作其他部分,例如“drones.specced.co.uk”和“phones.specced.co.uk”。
目前我通过数字 ID 加载页面信息,例如,这是获取 Canon 1300D 的所有规格的 URL:
http://cameras.specced.co.uk/compare.php?i=98
我想把它改写成这样的东西
http://cameras.specced.co.uk/compare/98
对于并排比较 2 个产品的页面,URL 当前如下所示,(URL 获取 Canon 1300D 与 Nikon D5300 的比较)
http://cameras.specced.co.uk/compare.php?1=98&2=111
我想把这个网址改写成这样的
http://cameras.specced.co.uk/compare/98-vs-111
这是我想出的,但是不起作用
RewriteRule ^i/([0-9]+)/?$ compare.php?i=$1 [NC,L] # Handle product requests
非常感谢任何帮助
【问题讨论】:
-
看起来一切正常,但您的实际问题是什么?对于您所要求的,仅在 SO 上就有 数百万 个示例,当然其中一个答案会有所帮助?如果不是,既然你又问了,那么另一个答案会有什么不同?
-
我希望有人可以帮助我使用 mod_rewrite 重写我的 URL,我已经尝试过多次但都失败了,这里有一些,因为我现在真的被卡住了。我想将这个 URL:cameras.specced.co.uk/compare.php?i=98 改写成这样的:cameras.specced.co.uk/compare/98
-
这很简单。如果您在这样做时遇到问题,请将您当前拥有的代码添加到您的问题中,并解释 exactly 有什么问题,如果您使用它,exactly 会发生什么。
-
似乎
compare/(\d+)可能是一个起点,您需要在此之前为vs制定一个规则,并在该规则处停止。 -
我已经删除了代码,因为它不起作用,你介意给我一个例子,说明你将如何重写这个 url,因为你说它是直截了当的,我很卡住,我会然后看看我如何使它适应我的其他网址
标签: php apache .htaccess mod-rewrite url-rewriting