[英]Codeigniter page not found with trailing slash in url
我在使用codeiginiter的地方有这样的形式:
<form action="announcements/submit_announcement" method="post" id="announcement_form">
announcements
是我的控制者。
如果我在www.mysite.com/home上并且提交了表格,则它可以正常运行。 但是,如果我在www.mysite.com/home/上,它将在末尾附加文本,从而导致www.mysite.com/home/announcements/submit_announcement。
然后它将得到一个找不到页面。
这里发生了什么? Codeiginiter难道不应该想到这一点,并且不会发生吗? 对此感到失望
有人对此有解决办法吗?
只需使用codeigniter form_open(),它会使事情变得更加容易。 在助手中的应用程序/自动加载中,包括自动加载或在控制器中加载的表格
$ this-> load-> helper('form');
然后在您看来
echo form_open('announcements/submit_announcement','id="announcement_form"');
请注意,我在此处将您的ID作为字符串传递给您,但是您也可以为数组添加一个变量,例如您正在使用引导程序并想添加一个类。
手册中的更多内容: https : //codeigniter.com/user_guide/helpers/form_helper.html#form_open请注意,阅读手册可能会为您节省更多的“失望” :-)
使用以下内容代替您现在使用的内容
<form action="<?php echo site_url('announcements/submit_announcement');?>" method="post" id="announcement_form">
现在测试
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.