我正在创建一个 Catalyst 应用程序,目前我有一个简单的登录页面,可以通过以下网址访问:
http://mydomainname/login
这完美地工作,它获取 html 页面并使用它引用的 css 文件创建一个漂亮的登录页面。
但是,如果我也转到以下网址:
http://mydomainname/login/login
我创建的登录页面仍然显示,除了这次它只显示基本按钮、文本框等,没有 css,因为它似乎没有访问 css 文件进行样式设置。
这种情况一直发生在“登录”路径中:
例如。
http://mydomainname/login/login
http://mydomainname/login/login/login
http://mydomainname/login/login/login/login/login
等等...
我想要的显然是http://mydomainname/login/login
不工作或重定向到http://mydomainname/login
例如。
我是我的 Login.pm 控制器,我有:
sub default : Private {
my ( $self, $c ) = @_;
$c->forward('login');
}
sub login : Path('/login') {
my ( $self, $c ) = @_;
$c->stash->{title} = 'Login Page';
$c->stash->{pagetype} = "html";
$c->stash->{template} = "login.html";
}
首先,这是控制器的外观吗?以及我需要做些什么来防止这种双 url 路径问题的发生(例如http://mydomainname/login/login
或http://mydomainname/login/login/login/login
)。