大家好,你能告诉我如何在 wamp 上配置 codeigniter mod_rewrite 吗?
我尝试通过 wamp 菜单(wamp-->apache-->apache 模块-->rewrite 模块)启用它并重新启动 wamp,但它就像什么也没发生。
我问你们这是因为我需要通过 .htaccess 摆脱我的 codeigniter url 中的 index.php
大家好,你能告诉我如何在 wamp 上配置 codeigniter mod_rewrite 吗?
我尝试通过 wamp 菜单(wamp-->apache-->apache 模块-->rewrite 模块)启用它并重新启动 wamp,但它就像什么也没发生。
我问你们这是因为我需要通过 .htaccess 摆脱我的 codeigniter url 中的 index.php
您需要遵循总共 4 个简单的步骤(我认为您已经安装了 WAMP,C:\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
然后找到该行#LoadModule rewrite_module modules/mod_rewrite.so
并从开头替换哈希(#),使完整的行变为LoadModule rewrite_module modules/mod_rewrite.so
. 现在重新启动 Apache。C:\wamp\www\codeigniter\application\config\config.php
并$config['index_page'] = "index.php";
用这个替换$config['index_page'] = "";
您的网址现在应该是干净的示例http://localhost/codeigniter/blog
等。
如果它不起作用,请参阅官方 wiki:http ://codeigniter.com/wiki/mod_rewrite
按照上述步骤(ans 1)启用 mod_rewrite。
要检查是否启用,请使用 WAMPManager 菜单,如下所示: wampmanager -> Apache -> 模块(滚动列表并确保已勾选)
在 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'] = '';
可能是根(应用程序文件夹)中的 .htaccess 文件拒绝写入。将其更改为允许所有人
在您的根 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>