删除url中index.php的要求,以加载controller-PHP xamp

时间:2017-09-08 04:59:41

标签: php codeigniter xampp

我完全不熟悉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

2 个答案:

答案 0 :(得分:2)

确保你的重写基础是正确的,就像我给出的屏幕截图一样。每个文件夹中都有许多htaccess文件。我给出了图像和结构中红色的htaccess。

enter image description here

 <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'] = '';