我爲我的一個項目使用codeigniter我解決了從本地URLS中刪除index.php的問題,但昨天我在分段服務器上配置了我的代碼我啓用了rewite mod我的舞臺服務器上的apache。配置文件和.htaccess與我用於本地機器的是同一個文件。但我仍然有index.php文件的問題,以URL我的活服務器上的URL中的Index.php
我的config.php
$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';
$config['url_suffix'] = '';
我的數據庫文件
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'username';
$db['default']['password'] = 'password';
$db['default']['database'] = 'database';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
我的.htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mediabox
RewriteCond $1 !^(index\.php|css|images|js|robots\.txt)
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
的網址我的分段服務器是
http://stage.carrier.com/home/box/12
當我嘗試使用上述網址它來打開它給404錯誤
但是當我嘗試使用此URL打開它打開
http://stage.carrier.com/index.php/home/box/12
什麼可以成爲主要的原因是什麼? 任何想法
感謝
你確定啓用了mod_rewrite嗎? – safarov 2012-03-29 15:33:46
您使用共享的主機?或者您配置了服務器本身。只是爲了記錄,如果你自己配置服務器,你是否更新了httpd.conf中的AllowOverride All指令。如果AllowOverride設置爲None,'.htaccess'將不會被apache使用 – Broncha 2012-03-29 15:36:19
非常感謝幫助 – 2012-03-30 08:39:19