Почему я получаю ошибку 403 при просмотре пункт меню Drupal пользовательского меню через чистый URL?

StackOverflow https://stackoverflow.com/questions/2650308

Вопрос

Я создал пользовательский пункт меню на своем веб-сайте Drupal 6, определив его в пользовательском модуле. Это чрезвычайно простое пункт меню MENU_NOMMAL_ITEM. Пункт меню определяется как

/**
 * Implementation of hook_menu().
 */
function menu_test_menu() {
  $items['menu_test'] = array(
    'title' => 'Menu Test',
    'page callback' => 'menu_test_hello',
 'access callback' => TRUE,
 'type' => MENU_NORMAL_ITEM,
  );

  return $items;
}

Поскольку у меня есть чистые URL-адреса, путь должен быть www.example.com/menu_test. Этот URL дает мне ошибку 403. Но, если я введу www.example.com/?q=Menu_test, все работает нормально. Почему я получаю ошибку 403? Пункт меню бесполезен, потому что он всегда пытается перейти на чистый путь URL, который должен работать, но не по какой-то причине.

Спасибо за помощь!

Чтобы быть понятными ... Чистые URL включены, и реестр меню был восстановлен несколько раз.

Это было полезно?

Решение

Эта проблема зависит от этого пути, используемого в примере страницы обратного вызова «Menu_test». Изменение этого пути обратного вызова (например, на «Test_Menu») решает проблему. Это было на самом деле проблема с правилом перезаписи в файле .htaccess. Часть правила ищет «тест» как окончание пути. Итак, в моем случае я не смогу использовать любой путь, который заканчивается в «тесте». Вот почему я получал 403 ошибок.

Если вы испытываете тот же тип выпуска, проверьте правило перезаписи для аналогичного состояния. В моем случае я решил просто избежать конца моих путей с «тестом», что не должно быть слишком сложно.

Спасибо за комментарии в любом случае! Я просто рад, что это выяснилось сейчас.

Коррекция: Это не правило перезаписи ... это правило файлов, которое защищает определенные файлы и каталоги.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top