重写查询字符串
如果您受雇从头开始重建现有网站,您可能会使用 URL 重写将旧网站上的 20 个最受欢迎的 URL 重定向到新网站上的位置。这可能涉及将 prod.php?id=20 之类的内容重定向到 products/great-product/2342,它本身会被重定向到实际的产品页面。
Apache 的 RewriteRule 仅适用于 URL 中的路径,不适用于 id=20 之类的参数。要进行这种类型的重写,您需要参考 Apache 环境变量 % {QUERY_STRING}
。这可以像这样完成:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=20$
RewriteRule ^prod.php$ ^products/great-product/2342$ [L,R=301]
RewriteRule ^products/(.*)/([0-9]+)$ ^productview.php?id=$1 [L]
在此示例中,第一个 RewriteRule 触发从旧网站的 URL 到新网站的 URL 的永久重定向。第二条规则将新 URL 重写为显示产品的实际 PHP 页面。
我希望这会有所帮助,在这里了解更多关于重写的信息:http:
//coding.smashingmagazine.com/2011/11/02/introduction-to-url-rewriting/
它以非常直接的方式布局。希望对您有所帮助,如果您还有其他问题,请告诉我。谢谢你。