Codeigniter删除index.php - htaccess localhost

时间:2016-02-04 04:31:59

标签: php apache .htaccess codeigniter localhost

我已经尝试了我在堆栈溢出时找到的所有解决方案但没有成功。

我正在运行

  • XAMPP v3.2.1 on
  • 赢取8.1和
  • Codeigniter 3.0.4

使用Smarty 3的最新版本。所有工作正常,直到我尝试从URL中删除'index.php'。

的config.php

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

$config['index_page'] = '';

routes.php文件

$route['default_controller'] = 'home';

$route['contact'] = 'contact';

的.htaccess

<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>
<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 /mypage/test1/
  RewriteBase /responsive_template/
  RewriteEngine on
  RewriteCond $1 !^(index\.php|images|robots\.txt)
  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>

Apache'FillyModule rewrite_module modules / mod_rewrite.so'enabled

<Directory />

    AllowOverride all

    Require all denied

</Directory>

如果我访问localhost/responsive_template/index.php/contact一切正常,只有localhost/responsive_template/contact以404结尾,就是这样。

整个codeigniter应用程序文件夹位于c:\xampp\htdocs

下的子目录'responsive_template'中

感谢任何帮助,非常感谢。

BR 大卫

2 个答案:

答案 0 :(得分:3)

我发现 xampp wamp 此htaccess使用已满。

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

让您放置主应用程序文件夹的htaccess文件外侧

将您的基本网址设置为

$config['base_url'] = 'http://localhost/project/';
$config['index_page'] = '';
  

注意:您可以将基本网址留空,但有时您提交的表单可能无法正确提交。因为它表明   网址中的ip_adress代替localhost

<强>目录

application

system

.htaccess

index.php
  

使用codeIgniter 3版本时,请确保您拥有类和文件   名字首字母大写。

文件名示例: Welcome.php

<?php

class Welcome extends CI_Controller {

     public function index() {

     }
}

答案 1 :(得分:0)

你应该试试这个:

userInteractionEnabled

注意: - 确保您的.htaccess文件位于根目录。在带有index.php文件的responsive_template目录中。