使用参数重写WordPress中的URL

时间:2022-02-02 作者:Innate

这似乎是一个相当简单的想法,请原谅我的无知,但在搜索和测试各种选项时,它们都不起作用。我尝试了许多htaccess的想法,还尝试了WordPress的add\\u rewrite\\u规则,如下所示:

  1. https://wordpress.stackexchange.com/questions/56417/url-rewrite-with-add-rewrite-rule-and-attachment-id/
  2. https://matty.blog/custom-url-rewrites-in-wordpress/
  3. Custom rewrite not working
我有一个WordPress url,如下所示:

https://mywebsite.com/?listing_category=Stay

我希望URL如下所示:

https://mywebsite.com/stay/

如果我能做到这一点,那么应该直接向URL添加其他参数,并构建用户友好的永久链接,例如:

https://mywebsite.com/?country=Italy&listing_category=Stay =&燃气轮机;https://mywebsite.com/italy/stay/

如果您对此有任何指导,我们将不胜感激;-)

以下是我尝试过的一些代码:

选项1

function rewriteurl() {
  global
  $wp,$wp_rewrite;
  $wp->add_query_var(\'listing_category\');
  $wp_rewrite->add_rule(\'^/([^/]*)/?$\', \'index.php?listing_category=$matches[1]\', \'top\');

  // Reset permalinks, delete after programming
  $wp_rewrite->flush_rules(true);  
}
add_action( \'init\', \'rewriteurl\' );
选项2

function custom_rewrite_rule() {
    add_rewrite_rule(\'^([^/]+)?\',\'index.php?listing_category=$matches[1]\',\'top\');
    add_rewrite_tag(\'%listing_category%\', \'(.*)\');
    flush_rewrite_rules();
} 
add_action(\'init\', \'custom_rewrite_rule\');

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

我最终放弃了所描述的WordPress解决方案,并将WordPress全部用于该项目,构建了自己的基本前端。

使用此答案:https://technicalseo.com/tools/htaccess/ 我能够为每种可能性创建一个规则。

请记住,URL必须包含索引。除非出现QSA,否则不会将php和URL参数传递给脚本,但这会将它们添加到URL中,从而达不到目的。

以下是我在htaccess文件中所做的操作:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^loc=(.*)&cat=(.*)&sub=(.*)$
RewriteRule ^index.php$ /%1/%2/%3/? [L,R=301]

RewriteCond %{QUERY_STRING} ^loc=(.*)&cat=(.*)$
RewriteRule ^index.php$ /%1/%2/? [L,R=301]

RewriteCond %{QUERY_STRING} ^loc=(.*)$
RewriteRule ^index.php$ /%1/? [L,R=301]

RewriteCond %{QUERY_STRING} ^name=(.*)$
RewriteRule ^index.php$ /%1/? [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]
我确信在WordPress中有一种方法可以做到这一点,我很快就使用了重定向插件,但在测试了数百种可能性之后,时间就用完了。

要小心重定向和缓存,如果使用WordPress,每次更改规则时都需要更新永久链接。

相关推荐