我已经在我的文档根目录/var/www/html/
中创建了一个.htaccess文件来重写Codeigniter的URL,以从所有页面的URL中删除“index.php”。
例如,更改URL自
http://myhost/index.php/controller/function
至
http://myhost/controller/function`
下面是我的/var/www/html/.htaccess的代码
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
我从谷歌上得到了很多建议来启用修改重写模块,但是我可以在我的httpd.conf
中看到它已经启用了。
LoadModule rewrite_module modules/mod_rewrite.so
这在我运行Debian 7(Apache/2.4.4)的本地系统上运行得很好。
任何帮助都将不胜感激。:)
3条答案
按热度按时间5vf7fwbs1#
例如,在/etc/httpd/conf/httpd.conf中,您应该看到类似于以下内容的内容:
确保具有:
mwecs4sa2#
您的centos服务器可能没有设置为处理PATH INFO。请尝试将规则目标中的
index.php/$1
替换为index.php?/$1
。然后,您需要修改配置项配置以启用查询字符串:http://ellislab.com/codeigniter/user-guide/general/urls.html
在
application/config.php
文件中,将$config['enable_query_strings']
设置为TRUE
。qltillow3#