我正在尝试找到正确的代码,以将具有查询参数的URL重定向到没有参数的特定URL。例如,我有以下URL:
https://www.sample.org/book-order-success?reading-choice=Read%20on%20Website&reading-choice-second=
我想重定向此页面:
https://www.sample.org/no-more-delay-on-website
这是我编写的代码,但是当我尝试实现它时出现500个内部服务器错误:
<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^(.*)reading-choice=Read(.*)$
RewriteRule ^(.*) https://www.sample.org/no-more-delay-on-website [QSD,R=301,L]
</IfModule>
我正在尝试使用WordPress网站上的联系表7来生成带有条件结果的响应表。与第一个示例类似,大约有五个条件会产生链接。我想根据用户在表单中选择的条件为他们提供具体的答复。
有什么想法吗?
谢谢, MPurvis
答案 0 :(得分:0)
您实际上是在WordPress中为重定向创建页面吗?
您可以使用它们的URL打开它们而没有任何错误吗?
我的意思是类似“预订成功” 和“网站上没有更多延迟” 的页面。必须创建它们,或者您只想重定向到外部URL。
为什么不使用某些PHP代码而不是htaccess来做到这一点? 在WordPress和PHP中,您可以从URL中检查查询参数,这些参数实际上是GET请求。更简单。
function check_query_parameters() {
// is_page() - which page has query parameters you can type page id, slug etc.
if(is_page('book-order-success')){
$query_paremeter = $_GET['reading-choice'];
if (isset($query_paremeter) && $query_paremeter == 'Read On Website') {
// redirect to a specific URL
header("Location: https://www.sample.org/no-more-delay-on-website");
die();
}
}
add_action( 'wp', 'check_query_parameters' );
您可以通过将其处理到当前WordPress主题中的 functions.php 中来进行尝试。
functions.php 的描述:”“功能文件的行为类似于WordPress插件,通过PHP代码向WordPress网站添加了功能。您可以使用它来调用本地PHP函数,WordPress函数或定义自己的函数。”
GET请求($ _GET):http://php.net/manual/en/reserved.variables.get.php
is_page(): https://developer.wordpress.org/reference/functions/is_page/
functions.php: https://codex.wordpress.org/Functions_File_Explained
答案 1 :(得分:0)
尝试php编码以及其他选项失败后,我发现了一个与Contact Form 7兼容的付费插件。最适合我的是https://codecanyon.net/item/contact-form-7-redirects-thank-you-and-failed-page/20211250