大家好我不熟悉MVC,在尝试 mod_rewrite 后,当我尝试加载site/about
时遇到 403 问题。我的项目位于我的Web服务器htdocs
的主根目录中,我很难在线理解许多教程。错误是;
Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while
trying to use an ErrorDocument to handle the request.
网站 - 控制器
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Site extends CI_Controller {
public function index()
{
$data['title']= "Welcome Learn Guitar Online";
//$this->load->view('home',$data);
//$this->getValues();
$this->load->view("about",$data);
}
}
about.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title><?php echo $title; ?></title>
</head>
<body>
<div id="container">
<h1>Welcome to about</h1>
<div id="body">
<p>hello</p>
</div>
<p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>
</div>
</body>
</html>
的.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Removes index.php from ExpressionEngine URLs
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/system/.* [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
# Directs all EE web requests through the site index file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
配置文件变量
$config['base_url'] = 'localhost/index.php';
$config['index_page'] = '';
答案 0 :(得分:1)
您尝试加载site/about
。但是当我看到你的代码时,没有名为about
的函数。您只需致电您的控制器即http://localhost/FOLDER_NAME/site
,默认情况下会调用index
功能并加载about.php
视图。
您的config.php
应该喜欢这个
$config['base_url'] = 'http://localhost/FOLDER_NAME';
$config['index_page'] = '';
如果您将ht.access
放在项目文件夹中,则也不需要定义base_url()
。
答案 1 :(得分:0)
您可以尝试将.htaccess
设为此
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /FOLDER_NAME/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>
Config
中的
$config['base_url'] = 'http://localhost/FOLDER_NAME';
$config['index_page'] = '';
将FOLDER_NAME替换为您的文件夹名称。现在你应该能够访问没有index.php的网址