大家好,请你告诉我如何在wamp上配置codeigniter mod_rewrite?
我已经尝试通过wamp菜单启用它(wamp - > apache - > apache modules - > rewrite module)并重新启动wamp但是就像没有发生任何事情一样。
我问你们这个原因我需要通过.htaccess摆脱我的codeigniter网址中的index.php
答案 0 :(得分:4)
您需要遵循总共4个简单步骤(我正在考虑您已在C:\wamp
上安装了WAMP,而CodeIgniter已被提取到C:\wamp\www\codeigniter\
):
RewriteBase /
替换为RewriteBase /codeigniter/
。C:\wamp\www\codeigniter\
文件夹WAMP->Apache->httpd.conf
打开httpd.conf文件或从C:\wamp\bin\Apache\conf\httpd.conf
手动打开httpd.conf文件,然后找到行#LoadModule rewrite_module modules/mod_rewrite.so
并从头开始替换哈希(#),以便整行成为{ {1}}。现在重启Apache。LoadModule rewrite_module modules/mod_rewrite.so
并将此C:\wamp\www\codeigniter\application\config\config.php
替换为$config['index_page'] = "index.php";
您的网址现在应该是干净的示例$config['index_page'] = "";
等。
如果它不起作用,请参阅官方维基:http://codeigniter.com/wiki/mod_rewrite
答案 1 :(得分:2)
按照上面的步骤(ans 1)启用 mod_rewrite启用。
要检查是否已启用,请使用WAMPManager菜单,如下所示: wampmanager-> Apache-> Module (滚动列表并确保已选中)
在index.php所在的CI根文件夹中创建/编辑.htaccess。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
将 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写的。 将其更改为允许所有