【问题标题】:Perplexing .htaccess/PHP Conundrum令人费解的 .htaccess/PHP 难题
【发布时间】:2011-07-20 21:37:34
【问题描述】:

所以...我在本地服务器上完成了一个站点,并将其上传到我的远程服务器。

转到远程站点会产生内部服务器错误。我认为.htaccess 文件可能有问题。以下是它包含的内容:

Options All -Indexes  
Options +FollowSymlinks  
DirectoryIndex launcher.php  
IndexIgnore */*  
RewriteEngine ON  
RewriteRule ^(.*)\.less$ $1.css.php [nc]  
RewriteRule ^([A-Za-z]+)$ launcher.php?page=$1 [QSA,L]

最后,我尝试通过在 DirectoryIndex 行之前添加# 来调试问题,看看会发生什么。结果:

403 禁止

您无权访问此服务器上的 /site/。

这令人费解,因为所有权限似乎都没问题...我仔细检查了,.htaccess 文件有八进制 644。

什么可能导致此问题?感谢您提前回复。

【问题讨论】:

  • 也许 mod_rewrite 在服务器上没有激活?
  • 如果 500 错误确实是由 bum .htaccess 引起的,请查看错误日志以获取更多信息。 Apache 通常非常擅长解释配置文件 / .htaccess 中何时出现问题。
  • 我认为默认的error_log通常在/var/logs/apache2/error_log
  • 在注释掉 both 选项行后,我得到 500 ISE,这是错误:"SoftException in Application.cpp:256: File "/home/user/public_html/site/launcher.php" is writeable by group"
  • 你去。您可能对该文件拥有664 权限,而不是644

标签: php apache .htaccess permissions


【解决方案1】:

感谢SO用户的帮助,我的问题得到了解决。

显然,如果 .htaccess 文件的权限设置为写入权限,Apache 会发疯,所以我可以通过 chmod 将整个目录及其中的所有内容设置为 755 来解决问题。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,正如错误消息所说,提到的文件具有664 的权限。我刚刚删除了组的写权限,权限变成了644。这修复了错误。

    【讨论】:

      猜你喜欢
      • 2012-10-31
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 2014-02-22
      • 1970-01-01
      • 2014-03-23
      相关资源
      最近更新 更多