Другой режим перезаписи для корня сайта CFWheels
Мне нужен совет по исследованию следующей проблемы.
Колеса на сайте есть set(URLRewriting="On")
настроено, все выглядит нормально, кроме корневой страницы.
Все ссылки построены с linkTo
выглядит как website.tld/controller/action
,
Но на / режим "переключился" на частичное и ссылки выглядят так website.tld/index.cfm/controller/action
, Интересно, что если к странице маршрута по умолчанию обращались явно (в данном случае / pages / index) - URL-адреса строятся правильно.
Веб-сайт работает в Tomcat с Apache2 под Ubuntu, стандартные правила перезаписи Wheels, настроенные непосредственно в конфигурации vhost, в качестве обходного пути к известной проблеме с.htaccess.
Когда начать? Какие переменные проверить и как это отладить?
Благодарю.
UPD Все, что я сейчас вижу, это то, что при прямом доступе к действию по умолчанию нет Route: home
в отладочном выводе. Не уверен, как использовать эту информацию, у меня очень маленький опыт работы с колесами.
2 ответа
Поскольку Chris Peters не создал ответ, я сделаю это просто, чтобы отметить разрешенный вопрос. Вся слава Крису, в любом случае.
Обычно Wheels игнорирует set(urlRewriting="On"), если вы не переписываете в rewrite.cfm. Убедитесь, что запросы маршрутизируются через rewrite.cfm, а не index.cfm
Это означает, что вам нужно проверить область CGI на проблемных страницах и исправить правила обхода переписывания (я думаю, их мало для Tomcat+CFWheels).
У меня очень похожая настройка, и я столкнулся с той же проблемой только сейчас. В качестве временного обходного пути я обнаружил, что, изменив строку 294 колеса /global/public.cfm из
loc.returnValue = application.wheels.webPath & ListLast(request.cgi.script_name, "/");
в
loc.returnValue = application.wheels.webPath;
тот linkTo() создал путь, который работал с перезаписью URL. Я буду пинговать некоторых друзей, более знакомых с Колесами, чтобы узнать, нужен ли патч, чтобы это исправить.