首页 > 解决方案 > 将带有获取参数的 url 更改为带有路径的 url。WordPress 网站

问题描述

我有一个 wordpress 网站。

它有一个产品页面,根据给定的 GET 参数显示产品的一些修改。

https://www.officeshop.co.il/product/product-name-1/?build=product-572

https://www.officeshop.co.il/product/product-name-1/?build=product-573

我想让网址看起来像这样:

https://www.officeshop.co.il/product/product-name-1/build/product-572

或者

https://www.officeshop.co.il/product/product-name-1/product-572

我曾尝试使用 .htaccess 文件管理重定向,但没有成功。

每次“ https://www.officeshop.co.il/product/product-name-1/build/product-572 ”导致404页面。

看起来 .htaccess 文件中的重写规则根本没有效果。可能会被wordpress覆盖吗?或者我没有使用正确的规则......

我将 .htaccess 文件放在网站的根文件夹中。

来自网站的真实链接: https ://www.officeshop.co.il/product/%D7%A9%D7%95%D7%9C%D7%97%D7%9F-%D7%9E%D7%A0% D7%94%D7%9C%D7%99%D7%9D-%D7%99%D7%95%D7%A7%D7%A8%D7%AA%D7%99-%D7%93%D7%92% D7%9D-蜘蛛玻璃-%D7%9B%D7%95%D7%9C%D7%9C-%D7%9E%D7%99%D7%A1%D7%AA%D7%95%D7%A8/ ?build=product-572

我想将其更改为:https ://www.officeshop.co.il/product/%D7%A9%D7%95%D7%9C%D7%97%D7%9F-%D7%9E%D7%A0 %D7%94%D7%9C%D7%99%D7%9D-%D7%99%D7%95%D7%A7%D7%A8%D7%AA%D7%99-%D7%93%D7%92 %D7%9D-蜘蛛玻璃-%D7%9B%D7%95%D7%9C%D7%9C-%D7%9E%D7%99%D7%A1%D7%AA%D7%95%D7%A8 /build/product-572

标签: wordpress.htaccessgetpermalinks

解决方案


如何在 wordpress 网站中自定义 url

例如: http ://example.com/your-page-slug/?cat=categoryname&name=productname 看起来像这样:http ://example.com/your-page-slug/categoryname/productname/

1.创建页面模板 2.创建页面(您的页面名称)然后分配给创建的模板(第一点) 3.复制下面的代码并粘贴在 function.php 文件中

add_action( 'init', 'url_getparam_init' ); 
function url_getparam_init(){
// rewrite rule tells wordpress to expect the       given url pattern
add_rewrite_rule( '^your-page-slug/(.*)/?', 'index.php?    page_id=your_page_id&getparam=$matches[1]', 'top' ); 
}
add_filter('query_vars', 'view_getparam_from_url');
function view_getparam_from_url($vars) {
$vars[] = 'getparam';
return $vars;
}

4.然后保存永久链接(登录到 WordPress 仪表板 -> 设置 -> 永久链接设置) 5.然后从您创建的页面模板中获取参数 print_r(get_query_var( 'getparam' ));


推荐阅读