我已更改我的CodeIgniter应用程序文件夹结构,如下所示:
MyCodeIgniterApp
-应用
-系统
-new子文件夹
-公共
-index.php
-.htaccess
-composer.json
您可以看到上面的文件夹结构,我将public,index.php和.htaccess文件保留在子文件夹中。而且我已经更改了index.php文件中的应用程序和系统路径以使用正确的文件。 我的问题是我可以像http://localhost/MyCodeIgniterApp一样访问我的应用程序,还是应该做些什么来访问该应用程序?
答案 0 :(得分:0)
假设您在Windows上使用XAMPP
我建议您使用以下文件夹结构
a1|b1|c1|20190101|20190101|1|11|A|D
a1|b1|c1|20190101|20181201|2|12|B|E
a1|b1|c1|20190101|20181101|3|13|C|F
a2|b2|c2|20190101|20181101|4|14|G|J
a2|b2|c2|20190101|20181101|5|15|H|K
a2|b2|c2|20190101|20181101|6|16|I|L
但是,如果要保持文件夹结构不变,则只需更改路径即可,因为它们指向的文件与以下代码相同
来自
MyCodeIgniterApp
- application
- system
- composer.json
- public
- assets
- index.php
- .htaccess
到
$system_path = 'system';
$application_folder = 'application';
.htaccess
$system_path = '../system';
$application_folder = '../application';
将公用文件夹中的.htaccess修改为
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>
现在,您需要配置Apache服务器以提供公共文件夹而不是htdocs 您可以通过修改httpd.conf设置来实现 来自
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
到
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
但是这样做,您将失去对htdocs文件夹中其他应用程序的访问 为避免这种情况,请尝试为您的新应用程序设置虚拟域
httpd-vhosts.conf
DocumentRoot "C:/xampp/htdocs/MyCodeIgniterApp/public"
<Directory "C:/xampp/htdocs/MyCodeIgniterApp/public">
此处“ app.local”是您所需的虚拟域
现在以管理员身份打开文件'C:\ windows \ system32 \ drivers \ etc \ hosts' 并添加
<VirtualHost app.local:80>
DocumentRoot "C:/xampp/htdocs/MyCodeIgniterApp/public"
ServerName app.local
<Directory "C:/xampp/htdocs/MyCodeIgniterApp/public">
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
希望有帮助