【问题标题】:Wordpress permalink adding "/" before index gateWordpress 永久链接在索引门之前添加“/”
【发布时间】:2015-01-22 18:16:01
【问题描述】:

我在使用 wordpress 及其永久链接系统时遇到了一些问题。我需要更改它在永久链接部分的 $_GET 变量之前自动添加“/”字符的方式。

我正在使用 mvc 模式并要求所有 $_GET 请求都通过索引门进行验证,然后才能使用它并更改页面。一切都应该没问题,但是当一个 url 看起来像anything.com/index.php/?var=blah 会破坏页面并且我收到控制台错误,提到我在所有被调用的javascript文件中都有一个意外的“>”。如果我进入网址栏并删除索引后的“/”,就像任何东西.com/index.php?var=blah 一样,页面加载正常。

我需要修复永久链接,以便每个自定义帖子类型和税收都导致 index.php?不是 index.php/?

【问题讨论】:

  • 你试过什么?您有任何代码或特定错误消息吗?就像也许你可以找出错误的> 在哪里?
  • 错误信息不是我认为的问题。因为我注意到在 GET vars 之前包含“/”的其他网站上的这种行为

标签: php html wordpress url permalinks


【解决方案1】:

https://codex.wordpress.org/Plugin_API/Filter_Reference/the_permalink

如果您知道如何使用 wordpress 钩子,那么这将是您正在寻找的用于改变永久链接行为的过滤器。

【讨论】:

  • hmm 我看到了这个,但认为它只会影响我没有使用的_permalink 函数。我正在使用带有返回 objs 的 wp_query 搜索,并通过默认类成员引用诸如 url 之类的东西。我会多看看你的参考资料,看看我是否可以使用它。
  • 我想不出另一个在这里可能有用的 wordpress 功能。您是否考虑过使用 mod_rewrite 将 URL 重写为您需要的内容?
  • 我有,但我认为这不是一个好的解决方案,因为它非常依赖 apache 来完成这项工作。另外,它不会让我轻松或快速地在我当地的 wamp 上进行编程和测试。我正在保存重写一旦它上线只是为了美化。
  • 在进一步查看 add_query_args 的 codex 时,我发现它主要是追加,但我只需要退格一个字符,哈哈。愚蠢的“/”正在毁掉一切。
  • add_filter('the_permalink', 'callback_function'); callback_function($url){ //regex here } 我会做类似的事情,如果有 ?跟随它。该函数中的 $url 将是永久链接。
【解决方案2】:

通常我不会回答自己的问题,但我认为这里有必要。对于其他任何脑力暂时丧失的人......这个问题已通过从我的 wordpress 管理面板中的永久链接选项卡中删除“index.php”来解决。它根本不需要额外的代码,哈哈。

所以现在 url 像任何东西一样显示。com/?var=blah 没有 index.php 并且页面加载正常,因为索引无论如何都隐含在“/”根中。当我得到任何东西.com/index.php/?var=blah 时,它似乎一直试图在索引文件本身中找到一个子目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多