如何获取PHP CodeIgniter以便将“ index.php”重新插入网址

时间:2018-12-26 18:35:18

标签: php codeigniter

我遇到了一个非常令人沮丧的问题,将不胜感激

几个月前,我配置了我的在线服务器,以从我的在线站点上的页面网址中删除index.php。因此,任何导航都不需要在网址中间使用index.php。但是,现在我已经将网站的实时版本转移回我的PC上,并且需要使其与URL中的index.php一起使用,因此从本质上讲,我需要撤消所做的更改,但我似乎做不到它。

我只能隐约地记得我做了什么,以使其在没有URL的index.php的情况下可以在线工作,并且涉及到将.htaccess文件放入站点中。该.htaccess文件位于网站根目录中,并且其中包含以下代码:

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

我从.htaccess文件中删除了此代码,然后重新启动了apache服务器,但是它仍然无法正常工作:每次我尝试单击链接导航到我的站点的localhost版本上的页面时,它都会尝试转到不含index.php的网址,然后说未找到链接。我在这里想念什么?

非常感谢。

2 个答案:

答案 0 :(得分:1)

您所做的两项更改是通过.htaccess文件配置apache,该文件已经还原,并在index_page中删除了config.php的值:

$config['index_page'] = ''; // it should be empty in your case

您应该放回它以便可以使用index.php

$config['index_page'] = 'index.php';

答案 1 :(得分:0)

config文件夹更改配置文件中的

,默认情况下base_url设置为空 更改base_url并添加index.php 就像:

const routes = require('../../public/js/fos_js_routes.json');
const Routing = require('../../vendor/friendsofsymfony/jsrouting-bundle/Resources/public/js/router.js');

Routing.setRoutingData(routes);

在每个base_url或site_url函数中重新插入index.php。

此后,您面临的问题是您无法通过调用常见的base_url和site_url函数来加载任何资产文件。

我建议您再次添加.htaccess文件。否则,您必须在每个src或href标签中添加index.php。