Все ответы верны!
Но давайте представим сценарий:
Я сопоставил путь "/" с контроллером: "Home" и действием: "index", поэтому, когда я получаю доступ "/ app-name /", выполняется контроллер Home, но если я набираю путь "/ app- name / home / index ", он все равно будет выполнен! так что есть 2 пути для одного ресурса. это будет работать, пока кто-нибудь не узнает путь "home / index".
Другое дело, если у меня есть форма без какого-либо указанного атрибута действия, поэтому по умолчанию это будет POST для того же контроллера и действия! так что если форма сопоставлена с путем "/" и атрибут действия не указан, то она будет передана на тот же контроллер, но на этот раз путь будет "home / index" в адресной строке, а не "/", потому что оно передается контроллеру / действию, а не URI.
Чтобы решить эту проблему, вам нужно удалить или закомментировать эти строки.
// "/$controller/$action?/$id?(.$format)?"{
// constraints {
// // apply constraints here
// }
// }
Так что теперь, когда вы получите доступ к "/", будет работать. но "дом / индекс" не будет. Но есть один недостаток: теперь вы должны сопоставить все пути к контроллерам вручную, явно записав их в файл URLMapping. Я думаю, это поможет!