htaccess - 如果用户尝试直接访问文件,则重定向到错误页面?

时间:2017-02-08 12:49:41

标签: php .htaccess redirect

我有一个网站,其中主目录包含一些我不希望使用以下网址直接访问的文件:

http://website.com/somefile1.ext1
http://website.com/somefile2.ext1
http://website.com/somefile1.ext2
http://website.com/somefile2.ext2

目前,如果您在浏览器中输入网址,则会下载。相反,我想将它们重定向到这样的错误页面:

http://website.com/404

我在网上找到了这个代码段,但它不起作用,也没有重定向:

<Files ~ "\.(ext1)$">
  Order allow,deny
  Deny from all
</Files>

执行此任务的正确.htaccess代码是什么?

编辑:

我使用以下代码将site.com/script.php等重定向到site.com/script:

RewriteEngine On
# turn on the mod_rewrite engine
RewriteCond %{REQUEST_FILENAME}.php -f
# IF the request filename with .php extension is a file which exists
RewriteCond %{REQUEST_URI} !/$
# AND the request is not for a directory
RewriteRule (.*) $1\.php [L]
# redirect to the php script with the requested filename

2 个答案:

答案 0 :(得分:1)

尝试这样我现在没有尝试过,

RewriteEngine On
RewriteCond %{REQUEST_URI} \.ext\d$
RewriteRule ^ 404 [R=301]

答案 1 :(得分:1)

尝试

<FilesMatch "somefile\.ext$">
 Deny from all
</FilesMatch>

如果您想拒绝所有人的访问,则不需要使用Order指令。