当前位置: 首页 > 知识库问答 >
问题:

如何为apache服务器设置codeigniter?

关翰
2023-03-14

更新后,我在Ubuntu服务器上部署codeigniter项目时遇到了一些问题,当我点击链接时,我发现404 Apache错误。

当我把项目放进去的时候http://roy.my-domain.com/ =/var/www/html/folder-一切正常-但当我添加子目录时http://roy.my-domain.com/roy/ =/var/www/html/roy/-我收到404个错误。

当我的网址是http://roy.my-domain.com/roy/index.php/about-我得到codeigniter 404错误,而不是apache2。

错误:

找不到

请求的URL/索引。在此服务器上找不到php。

Apache/2.4。roy的18(Ubuntu)服务器。我的领域。com端口80

以下是我的设置:

0 . 检查Apache中的重写模块-已启用“模块重写”

1.我的项目位于/var/www/myproject中/

2.中包含以下内容:应用程序系统公共\u html索引。php。htaccess

. htaccess文件:

#将所有其他URL重写为索引。php/URL重写规则^(.*)$index。php?url=$1[PT,L]

apache2。形态:

配置。php:

$config['base_url']='http://roy.my-domain/my-project/'; $配置['index_page']=''$config['uri_protocol']='AUTO';

索引。php:

(不使用../system和../application)$system_path='system'$应用程序\文件夹='应用程序';

控制器:

(codeigniter默认视图)欢迎。php关于_控制器。php

视图:(codeigniter默认视图)欢迎消息。关于。php

本地-一切正常。。。谢谢

共有3个答案

骆嘉石
2023-03-14

此错误可能由以下原因触发:

>

.HTC访问问题

mod_security或类似

>

在配置文件中:
$config['base\u url']=''
$config['index\u page']=''

将此代码添加到您的应用程序中。htaccess文件以删除索引。php,然后把这个放进去。htaccess主文件夹中的文件。

 <IfModule mod_rewrite.c>
   RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d

  # Rewrite all other URLs to index.php/URL
  RewriteRule ^(.*)$ index.php?url=$1 [PT,L] 

   </IfModule>
   <IfModule !mod_rewrite.c>
        ErrorDocument 404 index.php
   </IfModule>

在您的httpd中将AllowOverride设置为All。形态

在 /cache文件夹上设置正确的权限,而不仅仅是使文件夹可写-您需要使其隐蔽可写。

我希望它对你有用。

康泽宇
2023-03-14

设置CodeIgniter的简单步骤。

>

  • 下载并提取您的CodeIgniterpublic_html或var/www/project所在的域名。
  • 以URL打开项目:https://example.com/project。如果您收到欢迎CodeIgniter消息,那么您必须成功安装CodeIgniter。

    确保服务器上已启用mod_rewrite。

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
    </IfModule>
    

    我认为这将是整个项目的设置过程。确保在服务器上启用mod_rewrite。谢谢

  • 通沛
    2023-03-14
    <Directory /var/www/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride All
                    Order allow,deny
                    allow from all
     </Directory>   
    

    .htaccess:

        RewriteEngine On
        RewriteBase /html/project/
    
        RewriteCond %{THE_REQUEST} \s/+(.*?)/{2,}([^\s]*)
        RewriteRule ^ %1/%2 [R=302,L,NE]
    
        RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)/{2,}[?\s] [NC]
        RewriteRule ^ /%1/ [L,R=301]
    
        RewriteCond %{HTTP_HOST} !^www\. [NC]
        RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI}  [R=301,L]
    
        RewriteCond %{REQUEST_URI} system|application
        RewriteRule ^(.*)$ index.php?/$1 [L]
    
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php?/$1 [L]
    

    尝试此配置,不要忘记重新加载Apache。

     类似资料:
    • 问题内容: 在以前的Express版本中,我可以这样做: 但是,在较新版本的express中,此功能不再起作用: 我应该打电话来设置证书吗?如果可以,怎么办? 问题答案: 请参阅Express文档以及https.createServer的Node文档(express建议使用的文档): createServer的其他选项位于:http : //nodejs.org/api/tls.html#tls_

    • 我有一个简单的SpringBootConfigServer设置,还有一个客户端服务调用ConfigServer从GIT获取配置文件详细信息。 我的配置服务器工作正常,我能够从GIT获取prop文件。但是当我尝试运行消费者服务器时,它将从ConfigServer服务器获取详细信息,我得到一个错误。。。错误如下。。。 localhost:8888是我的configServer的URL,我可以直接从浏览

    • Debug 字段 该设置默认值是 false,当发生错误时,只返回错误信息本身。 当该字段设置为 true 时,当发生 panic 时,会将整个 panic 的错误堆栈信息返回给客户端,在用户进行 hprose 服务开发时,该设置可以帮助你快速定位错误位置。 ErrorDelay 字段 该设置为整型值,默认值为 10 秒。 该字段表示在调用执行时,如果发生异常,将延时一段时间后再返回给客户端。 在

    • 问题内容: 我有一个与此类似的设置: 我想将WebSocketServer放在特定的路径下,例如。问题是如何设置路径?可能吗? 问题答案: 您将要使用以下选项: 在此处查看完整文档

    • 本文向大家介绍如何使用单个Apache服务器设置多个SSL主机,包括了如何使用单个Apache服务器设置多个SSL主机的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将向您展示如何仅使用单个IP地址在带有Apache的CentOS上设置多个SSL证书。通常,网站管理员被限制为每个插座使用具有IP的单个SSL证书,这将给公司带来大量投资。此限制可能导致他们购买HTTP网站的多个IP地址作为其

    • 我使用Apache Mina Sshd API在Java中启动了一个本地SFTP服务器,在SFTP客户端中使用Jcraft jsch API创建了我的SFTP客户端,我成功地启动了一个服务器,问题是我想编写一些单元测试用例来检查客户端是否可以将一些文件放入服务器的根目录中。目前我的SFTP服务器没有任何根目录,所以我想知道有什么方法可以设置服务器的根目录。 例如:C:\sftp我如何设置这个路径作