Codeigniter删除/index.php/class

时间:2011-06-22 13:42:52

标签: php codeigniter

我已将所有本地Intranet站点移动到具有新dns的新服务器上。更改设置和配置文件后,一切似乎都正常工作 唯一令我烦恼的是我无法摆脱

http://intranet/trunk/index.php/class 在旧服务器上

http://intrenet/trunk/class 

工作正常,但现在它抛出了

  

在此服务器上找不到请求的URL / trunk / class /。

但正如我所说,使用/index.php/class时工作正常。这应该可以修复.htdocs(我放在trunk文件夹中,这是错误的吗?)

我也改变了所有的codeigniter配置。

2 个答案:

答案 0 :(得分:3)

首先确保在您的Web服务器中启用了URL重写(mod_rewrite)。 然后使用以下代码在htdocs目录中创建一个.htaccess文件。

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

并编辑config.php并删除index.php enter image description here

答案 1 :(得分:0)

我有同样的问题,我解决了这个.htaccess文件

# Mod Rewrite active
<IfModule mod_rewrite.c>
    # Set base path
    RewriteEngine On
    RewriteBase /Workspace/codeigniter/

    # Denied access to system directory
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    # Denied access to application directory
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

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

# Mod Rewrite inactive
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule> 

请记住设置

$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
在config / config.php文件中

并更改“RewriteBase”var的路径。