【问题标题】:Joomla 3.8 404 error on incorrect links错误链接上的 Joomla 3.8 404 错误
【发布时间】:2018-05-27 15:12:12
【问题描述】:

joomla 3.8 中的链接有问题。 我有类似http://mysite.loc/my-category/my-subcategory/89 的链接,这是 id 为 89 的材料的正确链接。 但是当我输入http://mysite.loc/my-category/my-subcategory/89asdasdasdasd Joomla 给我看这个页面,然后回复 200/ok。我该如何处理这个问题并为这样的 URL 显示 404 错误? SEF 已开启

【问题讨论】:

    标签: php joomla http-status-code-404 joomla3.8


    【解决方案1】:

    是的 - 这就是 Joomla 的行为方式。当您有yoursite.com/my-category/123-blablabla 之类的内容时,Joomla 将加载具有123 作为 ID 的文章。事实上,ID 为123 的文章甚至不必属于my-category 类别。这是 Joomla 中奇怪的事情之一。

    解决此问题的方法是从 URL 中删除文章 ID,如 here 所述。但请记住两件事:1) 这是一个核心修改,2) 3.8.+ 的操作说明可能会略有不同。

    【讨论】:

      【解决方案2】:

      我找到了对我有用的解决方案。 在 ContentRouterRulesLegacy 类中找到方法 parse,并在哪里调用查询到 db 以执行文章信息。

          $query = $db->getQuery(true)
                      ->select($db->quoteName(array('alias', 'catid')))
                      ->from($db->quoteName('#__content'))
                      ->where($db->quoteName('id') . ' = ' . (int) $id,'AND')
                      ->where($db->quoteName('alias') . ' = ' . "'$alias'");
      
                  $db->setQuery($query);
                  $article = $db->loadObject();
      
                  if ($article)
                  {
                      if ($article->alias == $alias)
                      {
                          $vars['view'] = 'article';
                          $vars['catid'] = (int) $article->catid;
                          $vars['id'] = (int) $id;
      
                          return;
                      }
                  }
                  else
                  {
                      header('HTTP/1.0 404 Not Found');
      
                      JError::raiseError(404, 'JGLOBAL_RESOURCE_NOT_FOUND');
      
                      exit(404);
                  }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-30
        • 2016-10-14
        相关资源
        最近更新 更多