我的Codeigniter 2.1安装在我的本地测试服务器(XAMPP)上正常运行,但是当我将其移动到我的网络解决方案托管上的测试子域时,我无法获取.htaccess来删除index.php。我已经尝试重写路径为“/ htdocs / test”和/ test但我仍然收到以下错误:
内部服务器错误
服务器遇到内部错误或配置错误,无法完成您的请求。
请与服务器管理员联系,[无地址]并告知错误发生的时间,以及可能导致错误的任何操作。
服务器错误日志中可能提供了有关此错误的更多信息。
此外,尝试使用ErrorDocument处理请求时遇到500内部服务器错误错误。
<IfModule mod_rewrite.c>
SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteBase /test
#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]
#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
#This last condition enables access to the images and css folders, and the robots.txt file
#Submitted by Michael Radlmaier (mradlmaier)
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>
我的子域名位于/ htdocs / test
谢谢!
答案 0 :(得分:0)
httpd.conf最有可能出现问题,如果你没有能力自己编辑,你可以在外面联系你的主机支持。如果您能够在主机上编辑Apache配置,则可以发布该配置,我们可以帮助您。
模块已加载但可能不允许您的目录重写,特别是不允许它遵循符号链接,这就是它的工作方式。
答案 1 :(得分:0)
首先,确保在apache中安装了mod_rewrite模块。杀死MAIN index.php文件顶部的脚本:
<?php die(var_dump(apache_get_modules())); ?>
如果您未在任何地方看到mod_rewrite
,则
要安装它,请在您的服务器上运行以下命令(如果您有权访问),
sudo a2enmod rewrite
然后我为我启用了mod_rewrite,它运行正常。
如果您没有超级用户访问权限,则可能需要联系客户支持,看看他们是否可以为您启用。