添加/#/到WordPress永久链接

时间:2013-06-02 13:59:57

标签: wordpress url permalinks

我想自定义我的wordpress永久链接的结构略微超出默认提供的结构。我想在/%postname%/之前添加#/,以便代替当前的永久链接:

http://www.mybusinesssite.com/about/thecompany

我明白了:

http://www.mybusinesssite.com/#/about/thecompany

编辑:以下是不起作用的内容:页面的实际永久链接为http://www. mybusinesssite.com/about/thecompany - 但是当我将该页面加载到主索引页面时,网址显示更改为{{1 }}。该页面显示正常,但无法正确添加书签,因为通过书签访问http://www. mybusinesssite.com/#/about/thecompany会导致用户进入页面的初始状态,而不是从/ about / thecompany加载内容的页面。我想要做的是将实际页面永久链接设为http://www. mybusinesssite.com/#/about/thecompany。然后,我将使用JavaScript将该网址拆分为细分,删除初始#/about/thecompany细分,然后在JavaScript哈希之后添加其他所有内容。因此,我将在其网址中显示#/,这将是该网页的实际网址。

如何做到这一点?

2 个答案:

答案 0 :(得分:5)

正确解释here您无法通过PHP 读取任何超出散列的内容,因为它根本不会传输到服务器。

你的第一页上可能有一个脚本通过ajax获取子页面,但这对搜索引擎和一般可用性来说都是一团糟。

jQuery(document).ready(function($) {
    if(window.location.hash) {
        // Fragment exists, redirect to url without #
        window.location = window.location.replace("#","");
    }
});

答案 1 :(得分:3)

如上面的评论中所述:#之后的URL部分未传递给服务器 - 就像在用户浏览器中只知道它一样。如果用户书签:带有散列字符的链接 - 当进行访问时,唯一会离开用户设备的部分是http://www.example.com/ - 所以,即使你按照自己的意愿定制你的wordpress URL,它也不会工作(它可以适用于任何其他角色,但适用于#

要解决您的问题,您需要在门户网站根目录上使用javascript解决方案 - 它甚至可以变成一个简单的解决方案。 (阅读原始网址,客户端的javascript,包括#之后的字符,并从服务器加载,删除#