我认为我的问题很简单,但在过去的几个小时里,我一直在用头撞墙。
我的网站使用 rewriterule 来确保带有 php 变量的杂乱路径名现在很好而且整洁(我已经从我的示例中删除了 [http://www],因为系统认为我正在放置链接并且不会让我)。
因此,有人在 mysite.co.uk/my-product-P1.html 访问我的网站,该网站会知道将 mysite.co.uk/product.php?id=1 发布到服务器。
但我也想反过来整理一下。如果旧客户或旧链接使用路径名 mysite.co.uk/product.php?id=1 那么我希望它返回 mysite.co.uk/my-product-P1.html 代替,即使旧路径名将实际上仍然有效。我不希望客户从不同的路径名访问同一页面。
我该怎么做,它会创建一个循环吗?在另一个网站上,我使用它工作:
RewriteCond %{QUERY_STRING} ^id=1$ [NC]
RewriteRule ^product\.php$ product-P1.html? [R=301,L]
但是在那个网站上只有大约 10 种产品,所以我可以为每种产品编写这些行。在我的另一个网站上,我有数百种产品,所以这不实用,我需要自动完成。
希望这是有道理的。我已经阅读了其他帖子并且找不到我的解决方案,如果在其他地方清楚地解释了这一点,我深表歉意。