gpt4 book ai didi

codeigniter - CodeIgniter 的重写器不起作用

转载 作者:行者123 更新时间:2023-12-04 16:27:54 28 4
gpt4 key购买 nike

我已经安装了一个干净的 Apache2(加上 PHP 和 MySQL)服务器并启用了 mod_rewrite在 apache 配置中。
我添加了 .htaccess文件以从 url 中删除 index.php,如 CodeIgniter wiki 中所述。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

我将此文件放在网站的根目录中。

当我尝试访问网址时 mydomain.local/index.php/welcome然后我得到了 CodeIgniter 的默认页面。但是当我尝试通过 mydomain.local/welcome 访问同一页面时然后我得到了 404 页面。

如何检查整个重写规则是否有效?为什么它不起作用?

最佳答案

假设您的配置( /application/config/config.php )禁用了 index_page:

$config['index_page'] = '';

还有你的 Apache DocumentRoot 是: /srv/www/

创建 .htaccess 文件级别与您的 相同/申请/目录,内容如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

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

你应该注意到 RewriteBase 指向 DocumentRoot (/)。
如果 index.php 在另一个目录中,您应该更改 RewriteBase 因此。

对于目录结构,如:
/srv/www/application/
/srv/www/system/
/srv/www/index.php
/srv/www/.htaccess

您的 RewriteBase 应该是: /

对于目录结构,如:
/srv/www/codeigniter/application/
/srv/www/codeigniter/system/
/srv/www/codeigniter/index.php
/srv/www/codeigniter/.htaccess

您的 RewriteBase 应该是: /codeigniter/

依此类推,你得到了图片。

关于codeigniter - CodeIgniter 的重写器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8259425/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com