2014-10-29 39 views
1

我从其他人接管的站点在索引页面上使用加载程序,根据请求的URL提取正确的页面。例如,如果您请求http://example.com/services它知道从“views”文件夹拉入services.php页面。它使用的htaccess具有以下使用htaccess通过加载程序重定向站点根目录

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/(.*)]+)$ ?$1 [L] 
RewriteRule ^([^/(.*)]+)/$ ?$1 [L] 

这一切都只是当你通过简单地将http://example.com在这种情况下,它抛出一个500错误请求网页的伟大工程来重写这些URL。如果我试图访问/索引,则按照预期拉动适当的索引视图。

错误日志,我的主人给我(不太多我怕,不被人发现从500页面只是404)

[Wed Oct 29 15:51:41 2014] [error] [client 216.54.92.21] File does not exist: /home/hotwater/public_html/500.shtml 
[Wed Oct 29 15:48:56 2014] [error] [client 216.54.92.21] File does not exist: /home/hotwater/public_html/500.shtml 
[Wed Oct 29 15:48:47 2014] [error] [client 216.54.92.21] File does not exist: /home/hotwater/public_html/500.shtml 

此网站工作的前一个主机上,但该网页爆发时,我们转移到一个新的主机,我似乎无法让自己工作。任何帮助表示赞赏。

+0

看看服务器的错误日志有关500 – 2014-10-29 20:25:42

+0

错误日志不显示为500什么,细节只是一个404没有一个500页:) – Chris 2014-10-29 20:29:23

+0

可能需要打开mod_rewrite调试级别。 – 2014-10-29 20:30:52

回答

1

问题似乎是在您的正则表达式中,最后一个RewriteRule与任何RewriteCond。使用此规则来代替:

ErrorDocument 404 default 
ErrorDocument 500 default 
DirectoryIndex index.php 
Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/.]+)/?$ ?$1 [L,QSA] 
+0

感谢您的建议。我做了改变,但似乎没有什么区别。还有500s的根目录,并可以很好地处理任何类似/ [任何] – Chris 2014-10-29 20:49:40

+0

的问题,不过很遗憾,不是很详细。 – Chris 2014-10-29 21:26:05

+0

仍然500,现在没有日志,因为它不是在寻找500.shtml。我感谢你在这方面的时间。非常奇怪的问题,我完全没有我的深度。 – Chris 2014-10-30 04:02:11

相关问题