我完全不熟悉Code igniter并通过MVC archi处理表单提交。因为,我搜索并尝试了堆栈溢出本身给出的所有灵魂和代码,以从url中删除index.php,但所有这些都没有工作。我知道有些东西丢失了,我无法识别它,因为我是CI的新手。
这是我的.htaccess代码,
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
我还设置了$ config [&#39; index_page&#39;] =&#39; &#39 ;;和$ config [&#39; uri_protocol&#39;] =&#39; REQUEST_URI&#39 ;;在config.php文件中。
注意:我的CI版本是3x
答案 0 :(得分:2)
确保你的重写基础是正确的,就像我给出的屏幕截图一样。每个文件夹中都有许多htaccess文件。我给出了图像和结构中红色的htaccess。
<IfModule mod_rewrite.c>
RewriteEngine On
# !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading
# slashes.
# If your page resides at
# http://www.example.com/mypage/test1
# then use
# RewriteBase /projectfolder //its an example
RewriteBase /project
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>
答案 1 :(得分:1)
我使用xampp和windows 10
将项目的主目录放在应用程序文件夹中。
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1
结构
application
system
user_guide
.htaccess
index.php
尝试其中一些
https://github.com/wolfgang1983/htaccess_for_codeigniter
不要设置base_url
$config['base_url'] = 'http://localhost/yourprojectname/';
$config['index_page'] = '';