Wordpress 自定义永久链接选项不起作用,忽略自定义结构并使用了帖子名

Wordpress 自定义永久链接选项不起作用,忽略自定义结构并使用了帖子名,wordpress,permalinks,Wordpress,Permalinks,在Wordpress域根目录的/wp admin/options permalink.php(没有.htaccess)中,第一个选项(即标准选项)正在工作,http://www.example.com/?p=123 所以我认为在自定义选项中复制(只复制)完全相同的东西是可能的。。。我尝试了/-p=%post\u id%,-p=%post\u id%和许多其他方法,效果总是导航为/post name/而不是?p=id。。。那么,它不起作用了吗?在“自定义结构”选项的表单框中,我到底需要复制/粘贴什

在Wordpress域根目录的
/wp admin/options permalink.php
(没有
.htaccess
)中,第一个选项(即标准选项)正在工作,
http://www.example.com/?p=123

所以我认为在自定义选项中复制(只复制)完全相同的东西是可能的。。。我尝试了
/-p=%post\u id%
-p=%post\u id%
和许多其他方法,效果总是导航为
/post name/
而不是
?p=id
。。。那么,它不起作用了吗?在“自定义结构”选项的表单框中,我到底需要复制/粘贴什么

我正在使用新的wordpress,v4.4

附言:目前没有任何线索


笔记 为什么?

因为“自定义永久链接”不起作用。。。。或者,事实上,它在Wordpress上不起作用

这是一个技术证明,当我工作时,我可以做任何事情
例如:需要散列,
?p=%post_id%\35; post-%post_id%
对于跳转幻灯片放映和搜索页面标题非常重要


在本例中,问题不是一种Apache权限或重写模式,
?p=123#post-123
在任何上下文中都可以正常工作(!),因此,Wordpress必须遵守所需的“自定义永久链接”。

这是一个有趣的问题,但几乎所有您想要的东西都不可能实现

  • 使用%post\u id%两次:

    在wp includes/class wp rewrite.php的第558行(wp 4.4),我们有一个for循环,如果已经找到并使用了
    %post\u id%
    ,该循环就会中断。代码是:

    preg_match_all('/%.+?%/', $this->permalink_structure, $tokens);
    $tok_index = 1;
    foreach ( (array) $tokens[0] as $token) {
        if ( '%post_id%' == $token && ($tok_index <= 3) ) {
            $front = $front . 'date/';
            break;
        }
        $tok_index++;
    }
    
    str_replace
    使得无法使用“#”字符

  • 该屏幕的用途:

    Wordpress使用该配置屏幕(1)为用户提供是否使用漂亮链接的选项,以及(2)为用户提供选择其帖子永久链接结构的机会。Worpress本身处理许多不可能更改的重写规则,除非您使用它。例如,页面和自定义帖子的处理方式不同

  • 您可以尝试将
    /index.php?p=%post\u id&var=%post\u id%
    添加为自定义结构,以看到神奇(不会)发生,但请记住:它只适用于帖子


    希望有帮助。

    这是一个有趣的问题,但几乎你想要的一切都不可能实现

  • 使用%post\u id%两次:

    在wp includes/class wp rewrite.php的第558行(wp 4.4),我们有一个for循环,如果已经找到并使用了
    %post\u id%
    ,该循环就会中断。代码是:

    preg_match_all('/%.+?%/', $this->permalink_structure, $tokens);
    $tok_index = 1;
    foreach ( (array) $tokens[0] as $token) {
        if ( '%post_id%' == $token && ($tok_index <= 3) ) {
            $front = $front . 'date/';
            break;
        }
        $tok_index++;
    }
    
    str_replace
    使得无法使用“#”字符

  • 该屏幕的用途:

    Wordpress使用该配置屏幕(1)为用户提供是否使用漂亮链接的选项,以及(2)为用户提供选择其帖子永久链接结构的机会。Worpress本身处理许多不可能更改的重写规则,除非您使用它。例如,页面和自定义帖子的处理方式不同

  • 您可以尝试将
    /index.php?p=%post\u id&var=%post\u id%
    添加为自定义结构,以看到神奇(不会)发生,但请记住:它只适用于帖子


    希望有帮助。

    为什么不能使用“默认”结构?@mevius这是一个技术证明,如果有效,我可以做任何事情。例如:
    ,?p=%post_id%#%post_id%
    对于跳转滑块和显示页面标题非常重要。可能是您的修改重写规则不正确enabled@ujwaldhakal是的,不是“no
    .htaccess
    ”,但在
    中没有修改的要求?p=%post_id%\35;%post_id%
    (!)。没有要求吗?如果你的mod rewrite无法启用,那么你无法获得自定义url:)为什么不打开它?你是在linux还是windows上?为什么不能只使用“默认”结构?@mevius这是一个技术证明,如果可行,我可以做任何事情。例如:
    ,?p=%post_id%#%post_id%
    对于跳转滑块和显示页面标题非常重要。可能是您的修改重写规则不正确enabled@ujwaldhakal是的,不是“no
    .htaccess
    ”,但在
    中没有修改的要求?p=%post_id%\35;%post_id%
    (!)。没有要求吗?如果你的mod rewrite无法启用,那么你无法获得自定义url:)为什么不打开它?你使用linux还是windows?