2

我对将 codeigniter 移动到我的网络服务器是全新的,并且我在配置时遇到了问题。我应该将我的 codeigniter 项目文件夹放在 www 下 myurl.com 的根目录中的什么位置?我应该移出应用程序和系统文件夹吗?

我正在尝试删除 index.php?从我的 URL 名称中,我应该将我的 .htaccess 文件放在根目录中还是与我的 codeigniter 目录相同的文件夹中?

我希望能够输入 (www.myurl.com) 并被重定向到我的 home_controller/index 这可能吗?

在此处输入图像描述

下面是我的 .htaccess 文件的全部内容

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /MMSFL/


#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]


#Rename 'application' to your applications folder name.
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php/$1 [L]


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

<IfModule !mod_rewrite.c>


ErrorDocument 404 /index.php
</IfModule>

我还在配置/路由中进行了以下更改

    $config['index_page'] = "";
    $config['base_url'] = "http://myurl.com/";
    $config['server_root'] = $_SERVER['DOCUMENT_ROOT'];
    $config['uri_protocol'] = 'AUTO';

$route['default_controller'] = "home_controller";
4

2 回答 2

3

目录结构

如果可能的话,建议您将您的systemapplication文件夹保留在 Web 根目录之上。您的index.php文件需要可以从浏览器访问,所以它应该放在您的public_html文件夹中。这是您可以使用的可能的目录结构:

-/home/edd
    -public_html
        -index.html
        -.htaccess
    -system
    -application

如果需要,您可以重命名系统和应用程序文件夹,或者创建另一个子目录来放置它们。


索引.php

index.php您需要在其中更新并$system_path反映$application_folder系统和应用程序文件夹的位置和名称。您可以使用绝对路径或相对路径。相对路径如下图:

$system_path = '../../system';
$application_folder = '../../application';

.htaccess

文件的前两个部分.htaccess用于防止用户访问您的系统和应用程序文件夹。如果您将它们存储在 Web 根目录之上,那么您实际上并不需要它。如果保留它们,则需要更新路径。此文件应位于您的public_html文件夹中。


应用程序/config/config.php

正如您已经正确完成的那样,index.php应该从index_page配置中删除该值,因此可以使用.htaccess文件从您的 url 中删除index.php ;

$config['index_page'] = 'index.php';

应改为:

$config['index_page'] = '';

您可能还必须进行此更改:

$config['uri_protocol'] = 'REQUEST_URI';

(如果您对这个值不满意,请尝试其他值。应该可以!)


应用程序/config/routes.php

$route['default_controller'] = "home_controller";

(假设这是您的控制器的名称。)


您的网站可能依赖于某些资产,例如 CSS 和 JavaScript。这些应该放在您的网络根目录中 - public_html. 您可以随意组织这些文件。

于 2012-09-05T21:14:25.190 回答
0

将驻留在 CI 文件夹中的所有文件移动到public_html. 该.htaccess文件应位于public_html(应用程序、系统、index.php 等也驻留的位置)的根目录中。

旁注:不要把$config值放进去/config/routes.php——那些需要放进去/config/config.php

于 2012-09-05T13:50:40.900 回答