在我的服务器上托管codeigniter网站时,第一页正常,其他链接显示错误,如下所示。
未找到
在此服务器上找不到请求的URL / site / ourservices。
此外,尝试时遇到404 Not Found错误 使用ErrorDocument来处理请求。
如何解决这个问题?我是初学者。
答案 0 :(得分:4)
将这些行添加到 .htaccess :(基于codeigniter urls docs)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
答案 1 :(得分:1)
我会帮助你..我几天前遇到过这个问题.. 尝试在.htaccess文件中包含以下代码。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]
ErrorDocument 404 index.php
答案 2 :(得分:0)
您的Site.php
文件夹中是否有/application/controllers
控制器?
或者,您是否有指向现有控制器/功能的路线?
遵循以下两种方法之一:
/application/controller/Site.php
。您可以复制Welcome.php
控制器以快速创建文件。然后将班级名称更改为Site
而不是Welcome
。现在,在那里添加一个函数并将其命名为public function ourservices()
-OR -
/application/config/routes.php
文件并在其中添加一个检查" site / ourservices"并将其指向现有控制器中的某个功能。即$route['site/ourservices'] = 'Welcome/ourservices';
,只要您的public function ourservices()
控制器中有/application/controllers/Welcome.php
功能。在控制器中新创建的函数中,调用相应的视图:$this->load->view('location/of/view/file')
,它会尝试加载现有文件/application/views/location/of/view/file.php
。确保此文件存在。
答案 3 :(得分:0)
在.htaccess(项目根目录)中添加以下行:
RewriteEngine On
RewriteBase /yoursite
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
答案 4 :(得分:0)
然后保存并重新启动Apache服务器。如果执行此操作后未打开页面,请检查是否启用了Apache重写模块。如果未启用,则在终端中运行此命令
答案 5 :(得分:-1)
如果您在cpanel上上传了网站,请尝试检查确切的错误,因为此问题尚不清楚,因为您可能在代码中包含了site/ourservices.php
,但是忘记了再次上传,否则可能有问题header.php
答案 6 :(得分:-1)
在编辑器中打开“ 000-default.config”,在“ /etc/apache2/sites-available/000-default.conf”中可用文件,并将“ AllowOverride”从“ None”更改为“ All”:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
然后保存并重新启动Apache服务器。如果执行此操作后未打开页面,请检查是否启用了Apache重写模块。如果未启用,则在终端中运行此命令
sudo a2enmod rewrite
sudo service apache2 restart
然后检查您的页面。