301 重定向。需要帮助。很困难

301 重定向。需要帮助。很困难

我正在尝试重定向 URL,但无法正常工作。以下是我希望做的事情:

旧网址:

www.example.com/asp.pl?_puri=astore.amazon.com%2Fthegi02-20%2Fdetail%2FB0001L0DFA%2Fassid

需要重定向到:

www.example.com

有人知道有什么办法吗?如果你能想出来,我可以给你发送 25 美元的 PayPal 付款。我需要尽快收到。

答案1

尝试这个:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^_puri=astore.amazon.com%2Fthegi02-20%2Fdetail%2FB0001L0DFA%2Fassid$
RewriteRule ^asp\.pl$ http://www.example.com/ [L,R=301]

如果您还想检查主机名,请添加RewriteCond %{HTTP_HOST} =www.example.com到规则中。

答案2

您没有提及任何有关您的环境的信息。从 .pl 文件扩展名来看,我假设您正在使用 Perl,但我不知道您正在使用哪个 Web 服务器。

如果文件 asp.pl 不存在,您可以创建自定义 404 错误页面来进行重定向。如果您使用 IIS,则可以使用 IIS 管理工具来完成此操作。

如果文件 asp.pl 存在,则重定向必须作为 asp.pl 中 Perl 脚本的一部分进行,或者通过某种能够理解哪些是有效的、哪些是无效的 URL 重写方案进行。如果您使用的是 Apache,则可以使用 .htaccess 文件来实现。在 IIS 中,您可能必须将 ISAPI 重写模块插入到服务器处理堆栈中。有关在 Perl 中执行重定向的信息,请查看此帖子perlmonks

您没有提到是否存在某些有效的查询字符串以及某些无效的查询字符串是否应该重定向。

需要更多信息才能完全回答您的问题。

相关内容