我已经在主public_html文件夹(http://www.myexample.com)中部署了一个使用CodeIgniter的网站.这个项目完全适用于localhost.为了从URL中删除index.PHP,它具有以下.htaccess:
RewriteEngine on RewriteCond $1 !^(index\.PHP|public|\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$index.PHP?$1
但是,当我尝试访问该网站时,我收到内部服务器错误:
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at webmaster@its.org.pk to inform them of the time this error occurred,and the actions you performed just before this error. More information about this error may be available in the server error log. Additionally,a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
解决方法
迁移到实时服务器时我通常做的事情如下
首先.htaccess
首先.htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #Removes access to the system folder by users. #Additionally this will allow you to create a System.PHP controller,#prevIoUsly this would not have been possible. #'system' can be replaced if you have renamed your system folder. RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$/index.PHP?/$1 [L] #When your application folder isn't in the system folder #This snippet prevents user access to the application folder #Submitted by: Fabdrol #Rename 'application' to your applications folder name. RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$/index.PHP?/$1 [L] #Checks to see if the user is attempting to access a valid file,#such as an image or css document,if this isn't true it sends the #request to index.PHP RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$index.PHP?/$1 [L] </IfModule>
application / config / database.PHP
$db['default'] = array( 'dsn' => '','hostname' => 'localhost','username' => 'DATABASE_USERNAME',//database username here 'password' => 'DATABASE_PASSWORD',//database password here 'database' => 'DATABASE_NAME',//database name here 'dbdriver' => 'MysqLi','dbprefix' => '','pconnect' => FALSE,'db_debug' => (ENVIRONMENT !== 'production'),'cache_on' => FALSE,'cachedir' => '','char_set' => 'utf8','dbcollat' => 'utf8_general_ci','swap_pre' => '','encrypt' => FALSE,'compress' => FALSE,'stricton' => FALSE,'failover' => array(),'save_queries' => TRUE );
然后在配置文件中
application / config / config.PHP
$config['base_url'] = 'http://example.com/';
如果你仍然收到错误说无法连接,请尝试验证数据库用户名,名称和密码,并尝试更改数据库密码,以确保其正确
UPDATE