Htaccess配置错误500

时间:2017-02-10 10:27:36

标签: php .htaccess codeigniter codeigniter-3 http-status-code-500

我在http://www.ssdpsjal.tk实施了一个新的.htaccess文件 我的代码是 -

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ n/index.php/$1 [L]
RewriteRule ^$ /index [L]
Redirect /administrator /sadmin1

我使用CodeIgniter。您可以访问该网站查看错误。

此外,我在我的本地服务器上尝试了这个.htacccess,并且它没有显示任何此类错误(我认为)

我的文档结构如下

--- ssdpsjal.tk                //given by host. Non-writable
  --n                          //the folder where website is stored
  --web_based_editor           //something my website uses
  --.htaccess file             //Htaccess file that I told about
  --Some other stuff not relevent to the question

修改

我已多次更改代码,经过一些更改,我发现错误发生在RewriteRule ^(.*)$ n/index.php/$1 [L]

注意

index RewriteRule ^$ /index [L]不是Index.php它实际上是我的codeigniter控制器的函数(方法)

没有.htaccess的实际网址是http://www.ssdpsjal.tk/n/index.php/s/index

注意句子最后一句index,就是那个!

3 个答案:

答案 0 :(得分:0)

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  RewriteRule ^administrator /sadmin1 [R=301,L]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

或只是改变这一行:

RewriteRule ^(.*)$ n/index.php/$1 [L]

进入:

RewriteRule ^$ n/index.php [L]

答案 1 :(得分:0)

我不确定你的配置,但你确定mod_rewrite存在吗?

也许:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)  http://www.ssdpsjal.tk/$1 [R=301,L]
RewriteRule ^$ n/index.php [L]
Redirect /administrator /sadmin1
</IfModule>

答案 2 :(得分:0)

找到了我自己的问题的答案。

.htaccess文件完全正确。问题出在webhost上。他们正在更新他们的服务而没有任何警告(通知在5-6小时后发生),因为许多服务被关闭。

好吧,我把我的Webhost改成了一个更好的新主机。 (000WebHost