WordPress simple Url Rewrite

时间:2017-02-22 作者:DarioN1

我正在尝试实现简单的url重写:

此链接:http://www.mysite.it/DN1

应加载http://www.mysite.it/chi-siamo

我已经在函数中实现了这段代码。主题的php文件:

function custom_rewrite_basic1() {
    echo("ciao4");
  add_rewrite_rule(\'^DN1/\', \'/chi-siamo/\', \'top\');
}
add_action(\'init\', \'custom_rewrite_basic1\');
但当我加载链接时,我得到了404页。

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

主题的functions.php 不是进行此类URL重写的最佳位置。

为什么?:因为在这种情况下,WordPress将完全加载,然后重定向到新链接,然后再次完全加载以显示页面。这对于页面视图来说是一个很大的延迟。

相反,您可以在中使用URL重写.htaccess (假设您的web服务器是Apache):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# YOUR CUSTOM REDIRECT
RewriteRule ^DN1$ http://www.mysite.it/chi-siamo [L,R=301,NC]

# default WordPress rules
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

相关推荐