我已将所有本地Intranet站点移动到具有新dns的新服务器上。更改设置和配置文件后,一切似乎都正常工作 唯一令我烦恼的是我无法摆脱
http://intranet/trunk/index.php/class
在旧服务器上
http://intrenet/trunk/class
工作正常,但现在它抛出了
在此服务器上找不到请求的URL / trunk / class /。
但正如我所说,使用/index.php/class
时工作正常。这应该可以修复.htdocs(我放在trunk文件夹中,这是错误的吗?)
我也改变了所有的codeigniter配置。
答案 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
答案 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的路径。