Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 将大量旧URL重定向到新URL的最佳方法?_Apache_Url_Redirect_Seo_Rewrite - Fatal编程技术网

Apache 将大量旧URL重定向到新URL的最佳方法?

Apache 将大量旧URL重定向到新URL的最佳方法?,apache,url,redirect,seo,rewrite,Apache,Url,Redirect,Seo,Rewrite,我们正在为一个客户重新构建平台,他们关心SEO。他们目前的网站支持SEO友好的URL,新平台也是如此。对于这些,我们将创建相同的URL映射。然而,他们有大量的其他URL,这些URL对SEO不友好,他们希望永久重定向。它们不遵循类似的模式,因此.htaccess中的一个正则表达式无法将其删除。在灯堆上处理此问题的最佳方法是什么?应用程序也有一个前端控制器,所以我需要确保它与硬重定向一起工作。一种方法是创建一个包含旧URL和新URL的简单表,然后使用读取该表并执行重定向。该表可以位于Apache配置

我们正在为一个客户重新构建平台,他们关心SEO。他们目前的网站支持SEO友好的URL,新平台也是如此。对于这些,我们将创建相同的URL映射。然而,他们有大量的其他URL,这些URL对SEO不友好,他们希望永久重定向。它们不遵循类似的模式,因此.htaccess中的一个正则表达式无法将其删除。在灯堆上处理此问题的最佳方法是什么?应用程序也有一个前端控制器,所以我需要确保它与硬重定向一起工作。

一种方法是创建一个包含旧URL和新URL的简单表,然后使用读取该表并执行重定向。该表可以位于Apache配置文件外部的文件中

或者,如果希望表位于数据库中,可以编写脚本来查询数据库


这意味着您需要手动创建映射,或者编写一些脚本来输出该映射文件。

您可以使用PHP将旧URL重定向到新URL

header("Location: /new.html",TRUE,301);
您仍然需要将请求重定向到此PHP脚本,但您可能会发现这更灵活、更容易
与只使用mod_rewrite进行调试相比,PHP对大多数用户来说更方便,并且提供了更多的灵活性,但在大多数情况下,您是在以速度换取方便。这可能不是一个阻碍,但值得考虑。