简体   繁体   English

子目录中的控制器在codeigniter应用程序的托管服务器上不可访问

[英]controller in sub-directory not accessible on hosting server in codeigniter application

I am finding it very hard to access controller/function in the sub-directory on hosting server but it works perfectly on localhost here is my folder structure abc.com httpdocs cms .htaccess application controller page (its controller out of sub-direcory) admin (its subdirectory) user (controller in admin sub-direcory not accessible) if i access it via url : abc.com/gms/admin/user/test it gives me Not Found The requested document was not found on this server. 我发现很难访问托管服务器上子目录中的控制器/功能,但是它在本地主机上运行良好,这是我的文件夹结构abc.com httpdocs cms .htaccess应用程序控制器页面(其控制器不在子目录下)admin (它的子目录)用户(无法访问admin子目录中的控制器),如果我通过url访问它:abc.com/gms/admin/user/test它给了我Not Found在此服务器上找不到请求的文档。 the only accessible thing is abc.com/gms (it accesses the page/index controller/function) any other URL gives me not found error code from .htaccess 唯一可访问的内容是abc.com/gms(它访问页面/索引控制器/功能)任何其他URL都给我提供了来自.htaccess的错误代码

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    RewriteBase /gms

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
    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> 

code from routes.php: 来自routes.php的代码:

$route['default_controller'] = "page";
$route['404_override'] = '';

code from config.php config.php中的代码

$config['base_url'] = '';
$config['index_page'] = '';

Please advice I really want things done as it more than 3 days I am unable to proceed on hosting server and yes mod_rewrite is enabled. 请提出建议,我真的希望事情完成,因为超过3天我无法在托管服务器上继续进行,并且启用了mod_rewrite。

in your apache configuration. 在您的apache配置中。 httpd.conf httpd.conf

check the root setting 检查根设置

AllowOveride all 允许全部覆盖

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM