Другой режим перезаписи для корня сайта 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. Я буду пинговать некоторых друзей, более знакомых с Колесами, чтобы узнать, нужен ли патч, чтобы это исправить.

Другие вопросы по тегам