(AltoRouter).htaccess文件导致500内部服务器错误

时间:2016-11-22 09:41:06

标签: apache .htaccess mod-rewrite routing routes

首先,我必须说我不是htaccess专家但是:我不认为我的问题是关于我使用的路由库(AltoRouter)。我认为这是一个纯粹的htaccess问题,因为一切都是本地的。

但我使用AltoRouter为我的网站实施路线。我有一个.htaccess - 这个代码的文件:

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

我开发了几个月的网站,我已准备好发布它,所以我的本地主机上没有问题。

但上传相同的.htaccess文件会导致我的远程主机出现问题。

我注意到了这种行为:

  • 如果我在我的根目录,例如www.domainA.com,一切正常
  • 点击我的网站上的链接www.domainA.com/signup/,浏览器中的加载指示器会永远旋转(例如 30分钟!)
  • 始终显示相同的索引页面,没有新的加载

因此,即使我从远程服务器删除.htaccess文件并刷新页面,我也无法做任何事情。我必须等待30分钟,直到页面再次以

响应
  

505内部错误

页。

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

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

但由于我的文件夹名称在localhost和我的远程Web根目录上都是相同的,所以我不知道问题是否存在。

__

旁注:我的Web根目录的结构类似于以下结构。我按域分隔每个文件夹。

[domainA]

[domainB]

[domainC]

所以它与我的本地结构相似。如果我在浏览器中拨打localhost/domainA C:\xampp\htdocs\domainA

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

1 个答案:

答案 0 :(得分:1)

我无法相信,但它是关于设置基本路径。几个小时后,我发现我的远程主机上的这一行$router->setBasePath('');导致了所有问题。当您在根目录中时,您不必使用此功能,然后它就像在localhost上一样。也许这会让其他用户感到困惑,因为他们为什么不在远程主机上工作而在本地主机上工作。