mod_rewrite抛出404,但是在(几乎)相同的服务器上工作

时间:2014-07-09 03:45:25

标签: php apache .htaccess

我有两个VPS服务于相同的PHP应用程序,但是可以使用两个不同的客户品牌。底层代码是相同的。我使用.htaccess将所有请求重定向到index.php,然后使用我的MVC来呈现页面等。这是我的.htaccess:

<IfModule mod_rewrite.c>  
  RewriteEngine On
  # Some hosts may require you to use the `RewriteBase` directive.
  # If you need to use the `RewriteBase` directive, it should be the
  # absolute physical path to the directory that contains this htaccess file.
  #
  # RewriteBase /

  Options -indexes
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

两台服务器都是一样的。我的Apache VirtualHost看起来如下:

<VirtualHost *:80>
  ServerAdmin benedict@ovalbit.com
  ServerName  [REDACTED]
  ServerAlias [REDACTED]

  DocumentRoot /var/www/cloud/
  DirectoryIndex index.php

  LogLevel Error
  ErrorLog /var/www/cloud/logs/error.log
  CustomLog /var/www/cloud/logs/other.log Combined

  <Directory /var/www/cloud/>
    Options +ExecCGI    
    AllowOverride all
  </Directory>

</VirtualHost>

正在运行a2enmod rewrite会返回Module rewrite already enabled

我几乎100%肯定它重定向到它的文件可用,有没有办法记录mod_rewrite请求的结果所以我可以肯定?任何人都可以看到我可能犯的任何愚蠢错误吗?

我确定这不是由于Apache配置,因为我在同一个VPS上有另一个网站,它也使用mod_rewrite并且工作正常。

0 个答案:

没有答案