PHP-Codeigniter和cpanel安装
作者:互联网
我对将Codeigniter移至Web服务器是全新的,并且在配置方面遇到麻烦.如何将我的codeigniter项目文件夹放在www的root目录下myurl.com下的哪里?我应该移出应用程序和系统文件夹吗?
我正在尝试删除index.php?从我的URL名称中,我的.htaccess文件应放在我的root或与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";
解决方法:
目录结构
如果可能的话,建议您将系统和应用程序文件夹保留在Web根目录之上.您的index.php文件需要可以从浏览器访问,因此应该放在public_html文件夹中.这是您可以使用的可能的目录结构:
-/home/edd
-public_html
-index.html
-.htaccess
-system
-application
您可以重命名系统和应用程序文件夹,也可以根据需要创建另一个子目录来放置它们.
的index.php
在index.php中,您需要更新$system_path和$application_folder以反映系统和应用程序文件夹的位置和名称.您可以使用绝对路径或相对路径.相对路径如下图所示:
$system_path = '../../system';
$application_folder = '../../application';
的.htaccess
.htaccess文件的前两个部分用于防止用户访问您的系统和应用程序文件夹.如果将它们存储在Web根上方,那么您实际上就不需要它.如果保留它们,则需要更新路径.该文件应位于您的public_html文件夹中.
应用/配置/ config.php中
如您已正确完成操作,应从index_page配置中删除index.php值,以便可以使用.htaccess文件从您的url中删除index.php;
$config['index_page'] = 'index.php';
应该更改为:
$config['index_page'] = '';
您可能还需要进行以下更改:
$config['uri_protocol'] = 'REQUEST_URI';
(如果您对此值不满意,请尝试其他方法.一个应该起作用!)
应用/配置/ routes.php文件
$route['default_controller'] = "home_controller";
(假设这是您的控制器的名称.)
您的网站可能取决于某些资产,例如CSS和JavaScript.这些应该放在您的网络根目录-public_html中.您可以随意组织这些文件.
标签:php,codeigniter,codeigniter-routing 来源: https://codeday.me/bug/20191013/1905206.html