【发布时间】:2013-09-09 20:15:12
【问题描述】:
假设我们正在运行
somesite.com/mail
这意味着我们正在使用名为“邮件”的控制器。该控制器具有以下功能:
public function index(){
$this->load->view('header');
$this->load->view('mail/contact_form');
$this->load->view('footer');
}
这个函数是在我们输入地址栏的时候加载的
somesite.com/mail
然后按回车键(没有附加参数)。让我们看看contact_form视图的第一行:
<form role="form" method="post" action="sendmail">
这就是我的问题。当我像这样在末尾键入带有反斜杠的地址时:
mysite.com/mail/
并使用我的联系方式,一切正常,我的邮件控制器加载函数 sendmail 并且 URL 现在是:
mysite.com/mail/sendmail/
但是当我忘记反斜杠 (mysite.com/mail) 时,它会查找名为“sendmail”的控制器,但我不想要它。我的网址是:
mysite.com/sendmail
当然,我没有任何名为 sendmail 的控制器。我的问题是 - 如何改变我的配方的作用,或者我应该怎么做才能使它运作良好?是关于反斜杠或什么的唯一要记住的答案吗?
【问题讨论】:
-
请使用
base_url('mail/sendmail')作为您的“操作”,始终使用 base_url();生成链接、表单、javascript 路径、css/img 路径。
标签: php forms codeigniter