如何从 codeigniter 应用程序中删除根文件夹名称

How to remove the root folder name from codeigniter application

我的网站托管在 https://www.webdomain.com/ 上述域中的托管网站不是 CODEIGNITER

在服务器上的 my_username/public_html/www/myproject 位置托管了一个 Codeigniter 应用程序。

意思是,在 myproject 应用程序中访问 controller 及其 function

我用下面的URL

https://webdomain.com/myproject/controller/function

您可能已经注意到,myproject 是 Codeigniter 应用程序的根文件夹

我一直在尝试从 URL 中删除 myproject,但没有成功。

我已经回答了几个关于堆栈溢出的问题,但据我了解,所有这些问题都与项目目录有关,不一定是应用程序根目录。就我而言,我想从 URL 中删除根目录 myproject 的名称。

这是我的 .htaccess:


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/

试试这个:

RewriteRule ^myproject/(.*)$  [R]

这需要在根文件夹中,我强烈建议您在评论中使用@vivek_23建议。

您尝试过在 route.php 文件中设置路由吗?

$route['controller/function'] = 'myproject/controller/function';

试试 .htaccess。我主要在 localhost 机器上使用它。此 .htaccess 文件应位于 myproject 文件夹的 root 中。这是更多信息的文档 https://httpd.apache.org/docs/current/howto/htaccess.html

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /myproject/
    RewriteCond  !^(index\.php|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/ [L,QSA]

</IfModule>

希望这对您有所帮助:)