邮政名的默认固定链接类型

时间:2019-03-27 作者:dewd

我需要我的主题将Permalink类型默认为Postname。激活后,我的主题将执行以下代码:

   //change permalinks to /%postname%/
    global $wp_rewrite; 

    //Write the rule
    $wp_rewrite->set_permalink_structure(\'/%postname%/\'); 

    //Flush the rules and tell it to write htaccess or IIS
    $wp_rewrite->flush_rules();
作为激活永久链接过程的一部分,WordPress会更新web服务器重写规则。这在*nix web服务器上运行良好,可以更新中的重写规则。htaccess,但它不会为IIS创建重写规则。

好的,可能与Windows计算机上的权限有关?

在Windows上,当从permalink设置页面更新permalink时,重写规则在IIS web中正确设置。配置。

我的问题是,在Windows IIS中,设置页面如何更新永久链接类型而没有问题,而上面的代码却没有(但在*nix上有)?

我不会编写脚本来手动更新重写规则。这应该由WordPress API来完成。

1 个回复
SO网友:Krzysiek Dróżdż

我认为这不是一个好办法。主题不应该更改任何设置,也绝对不应该更改permalink结构之类的设置。

如果我已经将permalinks结构设置为给定结构,那么我有理由这样做。这种变化有很多影响。如果你改变永久链接结构,你会导致很多SEO问题。但是,站点可能会完全停止工作(例如,如果服务器根本不支持永久链接,或者如果它没有访问.htaccess文件的权限)。

所以真正的问题不是如何迫使WP重新计算永久性链接,而是由谁来避免这种操作。

若您确实需要将永久链接结构设置为给定结构,那个么您可以礼貌地使用管理员通知要求用户更改它。

但老实说,我真的怀疑一个主题是否需要这样的改变。它应该适用于任何permalink结构。

相关推荐

子域添加评论重定向到404未找到页面iis服务器

在分区帖子中添加注释时,未找到多站点iis服务器错误404。这是我的网站。配置文件:<?xml version=\"1.0\" encoding=\"UTF-8\"?> <configuration> <system.webServer> <rewrite> <rules> <rule name=\"WordPress R