我正在为Web应用程序使用CI系统。直到昨天,一切都工作正常,但是当我点击以下网址时突然出现403错误:https://riidl.org/fablab/dell/123/rajdhiravani@gmail.com
但是如果我点击以下网址: https://riidl.org/fablab/dell/123/rajdhiravani@gmail.in
有效!
如果我尝试https://riidl.org/fablab/dell/123/rajdhiravani.com@gmail.com
有效!
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Fablab extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->library('session');
$this->load->model('fablab_model');
$this->load->model('login_model');
}
public function dell()
{
$booking_id = $this->uri->segment(3);
$email = $this->uri->segment(4);
echo $booking_id;
echo $email;
exit;
}
}
我的.htaccess文件是:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
DirectoryIndex index.php
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
答案 0 :(得分:0)
在文件application/config/config.php
中,特别是在$config['permitted_uri_chars']
中指定了CodeIgniter允许作为URL一部分的字符。
CodeIgniter指定的默认值不允许@字符成为URL的一部分。
如果要允许@
字符,请编辑config.php
文件,并将@
字符添加到$config['permitted_uri_chars']
的值中。
答案 1 :(得分:0)
您的Web服务器将.com视为域扩展名,因此由于在根目录中没有index.html或index.php文件,因此不允许直接访问。 网络服务器将始终先处理请求,然后再将其传递给codeigniter