无法访问 Ubuntu Apache2 上的 /admin

无法访问 Ubuntu Apache2 上的 /admin

我有一台运行 Apache2 的 Ubuntu 10.04 服务器,上面托管着我的几个网站。它们大多数都是某种 CMS,所以通常不会造成问题。

但是我最近将我的一个页面上传到服务器,似乎无法加载 URL example.com/admin。我无论如何也想不出这个原因。

需要澄清的是,这种情况仅发生在 /admin 上。所有其他控制器(使用 MVC 模式)均可正常加载。

某处是否存在某种隐藏的配置?

我也在使用 .htaccess,但是它没有在 Linux 机器上导致这种行为的规则,但在 Win 机器上不会发生这种行为。

错误日志显示:

[2012 年 4 月 16 日星期一 23:33:23] [错误] [客户端 78.xxx] 文件不存在:/srv/www/example.com/public_html/admin

我完全不知所措。Apache2 设置中也没有任何会导致这种情况的因素。帮忙?

答案1

该修补程序是 mod_rewrite。

RewriteEngine 开启

重写规则 admin$ /admin/ [R=301,L]

--

或者安装/启用mod_dir Default: DirectorySlash On

--

注意:在<Directory "/var/www/html/">尾随 VS 中,没有尾随斜杠也会有所不同。

答案2

事实证明,我的问题与 Apache 有关。

在寻找解决方案时,我意识到我的开发机器和服务器上的虚拟主机没有指向同一个 DocumentRoot,这意味着,虽然我提供了一个额外的 .htaccess 文件来将请求重定向到正确的目录,但两个环境并没有使用相同的设置。

简而言之,确保你对两个环境使用相同的设置。或者更好的是,复制你的开发和生产环境。

相关内容