根据是否存在可下载文件进行重定向

时间:2014-02-06 15:26:28

标签: apache .htaccess mod-rewrite redirect url-rewriting

是否可以通过htaccess / mod_rewrite实现以下功能:

如果用户尝试下载文件,例如http://static.example.com/im a downloadable file.pdf并且该文件不存在,它重定向到相同的命名文件,但空格被下划线替换,例如http://static.example.com/im_a_downloadable_file.pdf

感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:1)

有趣且具有挑战性的问题。

为此使用以下两条规则:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule "^(\S*)\s+(\S*\s.*)$" $1_$2 [N]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule "^(\S*)\s(\S*)$" $1_$2 [L]
只有在im a downloadable file.pdf不存在的情况下,

im_a_downloadable_file.pdf才会在内部转发到{{1}}。