部署后mod_rewrite规则不起作用

时间:2018-08-13 07:51:10

标签: apache mod-rewrite

我有一个适用于localhost的mod_rewrite规则,该规则检查是否有请求的文件。可以在/img/dog.jpg找到/static/img/dog.jpg,并相应地重写该URL。看起来像这样:

RewriteCond %{DOCUMENT_ROOT}/static%{REQUEST_URI} -f 
## ^^ is there a file at static/**?
RewriteRule ^(.*) static/$1 [L]
## ^^ if so, add static to the request.

它可以按预期在localhost上运行,但是不能在生产服务器上运行,不幸的是,我无法将mod rewrite日志设置为更详细,因此我陷入了500个错误(或者是?)。

之后只有2条规则:一个用于不重写而提供实际文件的规则,最后一个用于将所有其他请求重写为控制器文件的规则(这基于symfony htaccess):

# If the requested filename doesnt exist, add static.
# We only want to let Apache serve files and not directories.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) - [L]

# Rewrite all other queries to the front controller.
RewriteRule ^ app.php [L]

对于原因或如何自己调试的任何提示,我将不胜感激。

0 个答案:

没有答案