我是CodeIgniter的新手。我在我的localhost中设置了CI。本地主机/ MyProjects下/笨/欢迎/索引
我的config.php中的url_config是这样的:
$config['url_suffix'] = ".html";
当我访问URL时,例如
http://localhost/MyProjects/CodeIgniter/welcome/index
或
http://localhost/MyProjects/CodeIgniter/welcome/index.html
页面已加载。
我的问题是,当网址没有以后缀.html结尾时,如何设置CodeIgniter失败?
所以,当我这样输入时
http://localhost/MyProjects/CodeIgniter/welcome/index
请求将失败或重定向到禁止
答案 0 :(得分:1)
尝试使用此方法重定向:
$this->load->helper('url');
if (preg_match("/.html/i", current_url())) {
echo "A match was found.";
} else {
// redirect(base_url());
show_404(); //if you want to show page not found
}
放在function index()
welcome.php
控制器中的{{1}}内。
答案 1 :(得分:0)
感谢您的解决方案,但我对您的解决方案进行了一些修改
if (preg_match("/.html/i", $_SERVER['REQUEST_URI'])) {
echo "A match was found.";
} else {
// redirect(base_url());
show_404(); //if you want to show page not found
}
因为如果我使用current_url()
函数,那么CodeIgniter始终会提供.html
中设置的$config['url_suffix']='.html';
扩展名
所以我使用$_SERVER['REQUEST_URI']
,因为它提供了地址栏中的实际内容。
感谢您的建议,我的问题得到了解决。如果你来自印度尼西亚,makasih gan