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

Я создал пользовательский пункт меню на своем веб-сайте Drupal 6, определив его в пользовательском модуле. Это чрезвычайно простой пункт меню MENU_NORMAL_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-адреса, и реестр меню несколько раз перестраивался.


person Chaulky    schedule 16.04.2010    source источник
comment
Чистые URL-адреса включены ... поэтому я смущен, почему он не работает должным образом   -  person Chaulky    schedule 16.04.2010


Ответы (1)


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

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

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

ИСПРАВЛЕНИЕ: это не правило перезаписи... это правило FilesMatch, которое защищает определенные файлы и каталоги.

person Chaulky    schedule 17.04.2010