Codeigniter URL 在没有 index.php 的情况下不起作用

Vic*_*cky 5 codeigniter codeigniter-url

我刚刚建立了一个新的网站http://www.reviewongadgets.com

但是URL渲染有问题

当我输入如下 URL 时,它无法正常工作并显示未找到页面错误 http://www.reviewongadgets.com/latest-mobile

但它适用于 http://www.reviewongadgets.com/index.php/latest-mobile

我不想在我的 URL 中显示 index.php,它应该是http://www.reviewongadgets.com/latest-mobile ,你能建议我该怎么做吗?

这是我的.htaccess文件内容:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

配置文件内容:

$config['base_url'] = "http://www.reviewongadgets.com";
$config['index_page'] = "";
Run Code Online (Sandbox Code Playgroud)

相同类型的配置适用于我的另一个网站

将我的.htaccess内容更改为

<IfModule mod_rewrite.c>
    RewriteEngine On

 RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

Ser*_*sky 5

?这个问题最常见的解决办法通常是index.php后面缺少问号.htaccess,所以

RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

应该

RewriteRule ^(.*)$ index.php?/$1 [L]
Run Code Online (Sandbox Code Playgroud)

在我的 Windows XAMPP 上的 EG,我不需要“?”,但在 Linux 托管环境中通常需要它。


小智 5

我同意 Vlakarados,但我会分享我的 .htaccess 设置

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)

它的工作完美。

我希望这对您的 CI 网站有用