从Code Igniter中删除index.php

时间:2014-05-16 16:43:56

标签: php .htaccess codeigniter mod-rewrite

我已经完成了对我的问题的搜索,但还没有看到与我相似的问题。

我的服务器上新安装了CI,出于安全原因,我已将“application”和“system”文件夹移到public_html之外,并进入名为“app”的文件夹。我尝试了许多论坛使用的方法但似乎没有任何帮助。

下面是我的文件夹结构,想知道.htaccess的输入内容以及.htaccess去哪里了?

/
app (system and application folder for CI resides here)
public_html (index.php - the one which defines ENVIRONMENT, styles, other htmls and my current .htaccess resides here)

我目前的.htaccess看起来像这样:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$1 [PT,L]

请帮忙!谢谢你的时间!

修改的 目前我的网址是这样的 xxx.xxx.xxx.xxx/~app/index.php/user/check/id (它位于共享主机上,但尚未链接到域,因此网址中的IP地址和分区。)

我希望实现类似的目标 xxx.xxx.xxx.xxx/~app/user/check/id 它应该在我链接我的域时起作用。 (例如www.mydomain.com/user/check/id)

1 个答案:

答案 0 :(得分:0)

好吧,我想我已经解决了这个问题。

这很可能与我拥有的“独特”网址有关。我假设它是一个普通的域名,它应该没有那么多问题。

我的网址> xxx.xxx.xxx.xxx/~app/index.php/user/check/id

我的目录结构保持不变>

/ app(应用程序和系统目录到此处)

/ public_html(index.php和.htaccess就在这里)

.htaccess代码如下:

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

在config.php中,设置

$config['base_url'] = 'http://xxx.xxx.xxx.xxx/~app/';
$config['index_page'] = '';

这就是全部!