我在主public_html
文件夹中部署了一个使用CodeIgniter(http://www.myexample.com/
)的网站。为了从URL中删除index.php
,它具有以下.htaccess
:
RewriteEngine on
RewriteCond $1 !^(index'.php|images|js|css|app|favicon'.ico|uploads|thumbs|assets|robots'.txt)
RewriteRule ^(.*)$ index.php?/$1 [L]
现在,我创建了一个子域,在其中我部署了相同的网站,以便拥有一个开发环境(http://dev01.myexample.com/
)。我已将整个网站复制到文件夹public_html/dev01
中。然而,当我试图去网站时,我得到了一个内部服务器错误:
内部服务器错误
服务器遇到内部错误或配置错误,并且无法完成您的请求。
请通过与服务器管理员联系webmaster@dev01.myexample.com通知他们这个错误的时间发生,以及在此错误之前执行的操作。
服务器中可能提供有关此错误的更多信息错误日志。
此外,还遇到500内部服务器错误在尝试使用ErrorDocument处理请求时。
我知道这与.htaccess
设置有关。然而,我无法确定为什么会发生这种错误。
到目前为止,我已经尝试过在两个文件夹中擦除.htaccess
,或者在两个网站文件夹中复制.htaccess
。并在子域.htaccess
文件中使用相对路径尝试了以下操作:
RewriteEngine on
RewriteCond $1 !^(index'.php|images|js|css|app|favicon'.ico|uploads|thumbs|assets|robots'.txt)***
RewriteRule ^(.*)$ dev01/index.php?/$1 [L]
有人知道问题出在哪里吗?
通过cpanel将您的子域指向dev01目录,并使用与您的实时项目相同的htaccess
RewriteEngine on
RewriteCond $1 !^(index'.php|images|js|css|app|favicon'.ico|uploads|thumbs|assets|robots'.txt)***
RewriteRule ^(.*)$ dev01/index.php?/$1 [L]
如果你已经把上面的htaccess代码放在dev01目录中,它会在dev01中查找dev01目录,使用这个
RewriteEngine on
RewriteCond $1 !^(index'.php|images|js|css|app|favicon'.ico|uploads|thumbs|assets|robots'.txt)***
RewriteRule ^(.*)$ index.php?/$1 [L]
尝试这个
RewriteEngine On
RewriteBase /your_folder_or_project_nmae
RewriteCond %{REQUEST_URI} ^system.*
RewriteCond $1 !^(index'.php|images|js|uploads|css|robots'.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]