2016-11-22 272 views
0

首先,我不得不说我不是htaccess专家,但是:我不认为我的问题是关于我使用的路由库(AltoRouter)。我认为这是一个纯粹的htaccess问题,因为一切工作在本地。(AltoRouter).htaccess文件导致500内部服务器错误

但是我使用AltoRouter来实现我的网站的路线。我有一个.htaccess -file与此代码:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

我开发我的网站了几个月,现在我已经准备好发布,所以我从来没有在我的本地问题。

但上传相同.htaccess文件正在我的远程主机上造成麻烦。

我注意到了这个问题:

  • 如果我在我的根目录下,例如www.domainA.com,一切都如我点击一个链接在我的网站像www.domainA.com/signup/工作正常
  • 只要在浏览器中加载指示灯不断旋转(如30分钟!)
  • 相同的索引页面显示所有的时间,没有什么新的负载

因此,对于这个很长一段时间,我不能做任何事情,即使我删除远程服务器.htaccess -file并刷新页面。我必须等待像30分钟直到页面与

505内部错误

页再次响应。

如果我的问题是关于AltoRouter,我只能假设其选项设置的基本路径:

$router->setBasePath('/projectA'); 

但因为我的文件夹名称是相同的两个在本地主机上,并在我的远程Web根目录,我不知道问题是否存在。

__

旁注:我的web根目录结构如下。我按域分隔每个文件夹。

[domainA]

[domainB]

[domainC]

所以这是类同我的局部结构。如果我在我的浏览器中拨打localhost/domainA,那么这是C:\xampp\htdocs\domainA

PS:我的提供者刚刚告诉我没有可以检查的日志文件。我必须为自己检查htaccess错误。

+0

我添加了'RewriteCond%{HTTP_USER_AGENT}^fake-user $'来检查它是否作为名为'fake-user'的用户代理工作,它是这样做的!但是当切换到其他用户时,同样的错误发生,我的web根目录中的整个域再次出现故障。然后我删除这个htaccess文件,并且需要一段时间,直到所有域再次启动。我不明白。 – AlexioVay

回答

0

我不能相信它,但它是关于设置基本路径。几小时后,我发现我的远程主机上的这条线路$router->setBasePath('');正在导致所有问题。当你在根目录下时,你不必使用这个函数,那么它就像在本地主机上一样工作。也许这可以帮助其他用户,当他们感到困惑时,为什么它不在远程主机上工作,而是在本地主机上工作。

相关问题