Я только что начал с FW/1, и я просто пытаюсь заставить все работать, но не очень повезло с адресами SES.FW/1 SES и IIS Rewites
Так Application.cfc
я превращаюсь SES URLs, и удаление index.cfm
у меня есть:
generateSES = true
SESOmitIndex = true
в моем main.cfc
У меня есть 2 вещи default
и seconditem
:
public void function default(rc) {
rc.when = now();
variables.fw.service('formatter.longdate', 'today');
}
public void function seconditem(rc) {
rc.when = now();
variables.fw.service('formatter.longdate', 'today');
}
Я имею представления для каждый пункт в main.cfc
, и у меня есть это правило перезаписи в моем web.config
файле
<rule name="Insert index.cfm" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.cfm/{PATH_INFO}" appendQueryString="true" logRewrittenUrl="true" />
</rule>
Так вот вопрос:
Когда я иду в http://dev.dev/main/default
- Это вызывает main.default
Когда я иду в http://dev.dev/main/seconditem
- Это вызывает main.default
не main.seconditem
Если я добавляю index.cfm
обратно в :
Когда я иду на http://dev.dev/index.cfm/main/default
- Он называет main.default
Когда я иду в http://dev.dev/index.cfm/main/seconditem
- Он называет main.seconditem
Глядя на журналы мой IIS URL-адрес становится переписан включить index.cfm
:
2014-02-19 23:13:44 GET /index.cfm/main/default - 80
2014-02-19 23:13:53 GET /index.cfm/main/seconditem - 80
Так на основе журналов IIS, рассказывающих мне перезапись работая, почему, когда я иду на URL-адрес без index.cfm
, он всегда идет до main.default
?
Я также попытался с различными контроллерами, где:
http://dev.dev/users/default
- идет в main.default
но:
http://dev.dev/index.cfm/users/default
- идет в users.default
И журналы IIS показать это для обоих запросы:
2014-02-19 23:20:47 GET /index.cfm/users - 80
2014-02-19 23:21:37 GET /index.cfm/users - 80
Любые идеи будут действительно оценили
Привет, Скотт, к сожалению, это не работает для меня. Я просто получаю ошибку 404 Not Found при доступе к чему-либо, кроме 'http: // dev.dev /'. Итак, переходим к 'http: // dev.dev/main/default' или' http: // dev.dev/main/seconditem' и бросаем 404.Я добавил 'logRewrittenUrl =" true "' к вашему правилу, а журналы IIS показывают 'GET/main/seconditem - 80', поэтому он не добавляет'/index.cfm/'вообще. –
OK Я выяснил, что происходит, это заняло всего 2 дня :) Я не перезапустил программу настройки ColdFusion Web Server после установки последнего обновления. Поэтому я сделал это, и теперь все работает. Спасибо, что опубликовали правило перезаписи. –