如何在wamp上配置codeigniter mod_rewrite?

时间:2009-06-18 18:57:58

标签: apache mod-rewrite wamp

大家好,请你告诉我如何在wamp上配置codeigniter mod_rewrite?

我已经尝试通过wamp菜单启用它(wamp - > apache - > apache modules - > rewrite module)并重新启动wamp但是就像没有发生任何事情一样。

我问你们这个原因我需要通过.htaccess摆脱我的codeigniter网址中的index.php

4 个答案:

答案 0 :(得分:4)

您需要遵循总共4个简单步骤(我正在考虑您已在C:\wamp上安装了WAMP,而CodeIgniter已被提取到C:\wamp\www\codeigniter\):

  1. http://codeigniter.com/wiki/mod_rewrite中的说明创建.htaccess文件,但根据您的路径将RewriteBase /替换为RewriteBase /codeigniter/
  2. 将此文件放在C:\wamp\www\codeigniter\文件夹
  3. WAMP->Apache->httpd.conf打开httpd.conf文件或从C:\wamp\bin\Apache\conf\httpd.conf手动打开httpd.conf文件,然后找到行#LoadModule rewrite_module modules/mod_rewrite.so并从头开始替换哈希(#),以便整行成为{ {1}}。现在重启Apache。
  4. 最后打开文件LoadModule rewrite_module modules/mod_rewrite.so并将此C:\wamp\www\codeigniter\application\config\config.php替换为$config['index_page'] = "index.php";
  5. 您的网址现在应该是干净的示例$config['index_page'] = "";等。

    如果它不起作用,请参阅官方维基:http://codeigniter.com/wiki/mod_rewrite

答案 1 :(得分:2)

  1. 按照上面的步骤(ans 1)启用 mod_rewrite启用

  2. 要检查是否已启用,请使用WAMPManager菜单,如下所示: wampmanager-> Apache-> Module (滚动列表并确保已选中)

  3. 在index.php所在的CI根文件夹中创建/编辑.htaccess。

    <IfModule mod_rewrite.c>
    
        RewriteEngine On
    
        RewriteCond %{REQUEST_FILENAME} !-f
    
        RewriteCond %{REQUEST_FILENAME} !-d
    
        RewriteRule ^(.*)$ index.php/$1 [L]
    
    </IfModule>
    

    CodeIgniter URLs

  4. config.php 编辑为$config['index_page'] = '';

答案 2 :(得分:1)

在根CI文件夹(index.php所在的位置)上创建/编辑.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
    RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>

答案 3 :(得分:1)

可能是你的root(应用程序文件夹)中的.htaccess文件deny写的。 将其更改为允许所有