重写URL以删除wp-content等并更改URL

时间:2017-07-18 作者:Soothsayer92

我正在尝试摆脱WP文件夹,并重写自定义PDF的URL,创建了一个基于产品ID的文档。我使用了下面的代码,但它不起作用。

初始值:http://example.com/wp-content/themes/exampletheme/templates/pdf-generator.php?productID=11

我试图获得的价值:http://example.com/carPDF=11

CODE:

add_action(\'init\', \'custom_rewrite_basic\');
function custom_rewrite_basic() {
    add_rewrite_rule(\'carPDF=([0-9]+)/?$\', \'wp-content/themes/exampletheme/templates/pdf-generator.php?productID=$matches[1]\', \'top\');
}
我本来可以了解自己,但现在我变得像permalink一样http://example.com/carPDF/?productID=61 我想删除get参数,而不是只有这样的数字http://example.com/carPDF/61

CODE UPDATED: 功能。php

add_action(\'init\', \'custom_rewrite_pdfURL\');
function custom_rewrite_pdfURL() {

    add_rewrite_rule(\'^carPDF/([^/]*)/?\', \'wp-content/themes/exampletheme/templates/pdf-generator.php?productID=$matches[1]\', \'top\');
}
Form。php

<form method="GET" action="http://example.com/carPDF/" id="hidden-pdf-form">
    <input type="hidden" value="<?php echo "$id"; ?>" name="productID">
    <i class="glyphicon glyphicon-download"></i>
    <input type="submit" value="Download PDF" class="btn btn-link"/>
</form>

1 个回复
最合适的回答,由SO网友:Worduoso 整理而成

$matches[1] 不适用于外部重定向,仅适用于内部重定向(URL必须以index.php开头,并由WordPress本身处理)

试试这个

add_action(\'init\', \'custom_rewrite_pdfURL\');
function custom_rewrite_pdfURL() {
    add_rewrite_rule(\'^carPDF/([^/]*)/?\', \'wp-content/themes/exampletheme/templates/pdf-generator.php?productID=$1\', \'top\');
}
别忘了冲洗permalinks

结束

相关推荐

禁止的403错误,访问权限,无法读取htaccess

最近清理安装了一个旧wordpress到最新的wordpress 4.2.2版本(主题和内容/上载文件夹除外)。每当我加载style之类的文件时,我都会在下面看到这个错误。手动在web浏览器中使用css。我尝试过:将此文件的权限更改为644、755和777。c至。所以在。htaccess将htaccess权限从644更改为755,甚至更改为777</在htaccess中添加mod\\u sec条款,以上都不适用于我。是否仍发生此错误?我正在运行PHP 5.4.43和Wordpress 4.2.2。&