Codeigniter URL重写.htaccess在CentOS上不起作用

mpgws1up  于 2022-11-16  发布在  其他
关注(0)|答案(3)|浏览(122)

我已经在我的文档根目录/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)的本地系统上运行得很好。
任何帮助都将不胜感激。:)

5vf7fwbs

5vf7fwbs1#

例如,在/etc/httpd/conf/httpd.conf中,您应该看到类似于以下内容的内容:

<Directory "/var/www/html">

      ...lots of text...

</Directory>

确保具有:

<Directory "/var/www/html">

    AllowOverride All

</Directory>
mwecs4sa

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

qltillow

qltillow3#

# CentOS Linux release 7.9.2009 (Core) - 
# CodeIgniter 3.1.11 - ( .htaccess - This code work for me )

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]

相关问题