对于如下所示的网址返回 404 的简单/可靠的方法是什么(使用 .htaccess)?
/foo/my file name.jpg
随着时间的推移,我应该能够阻止 .htaccess 中的更多 url,因此之前对它们进行 url 编码并不容易,那里的文件名可能非常长且复杂。 我认为包含引用文件名的规则/条件会更可靠。
我有这个,它似乎可以工作,但我读到你不能将
404
与redirect
一起使用?!
Redirect 404 "/foo/my file name.jpg"
我可以对我的
404.php做一个
RewriteRule
,但是像这样引用它不起作用,这应该怎么做?
RewriteRule "/foo/my file name.jpg" 404.php [QSA]
在
RewriteRule
中,第一个参数是 Perl 兼容的正则表达式。因此,请尝试使用此方法来匹配至少包含一个空白字符的任何内容
RewriteRule ^.*?\s.*$ 404.php [QSA]
^
匹配开头,.*?
不贪婪地匹配零个或多个字符,\s
匹配空白字符,.*
匹配零个或多个字符,$
匹配结尾。空格字符可以是文件名的第一个字符、中间字符或最后一个字符。