我想用来mod_rewrite
阻止对文件的访问。
index.html
举个例子吧。
我知道你可以使用FileMatch
,但我想用它mod_rewrite
来做到这一点。
我试着做这样的事情:
RewriteEngine On
RewriteCond %(REQUEST_URI} !^/index\.html$
RewriteRule (.*) - [L]
但这不起作用,我如何存档?
我想用来mod_rewrite
阻止对文件的访问。
index.html
举个例子吧。
我知道你可以使用FileMatch
,但我想用它mod_rewrite
来做到这一点。
我试着做这样的事情:
RewriteEngine On
RewriteCond %(REQUEST_URI} !^/index\.html$
RewriteRule (.*) - [L]
但这不起作用,我如何存档?
您可以使用该F
标志拒绝对给定文件的访问:
RewriteEngine On
RewriteRule ^index.html$ - [F]
拒绝访问以 : 结尾的任何.pdf
文件
RewriteRule \.pdf$ - [F]
如果您的文件曾经存在,则有几个选项。而不是对浏览器、搜索引擎或用户说“拒绝访问” 。如果您删除了该文件并且没有其他文件可以代替它,那么您可以410 Gone
使用该G
标志以错误响应。
RewriteRule ^yourfile.html$ - [G,L]
如果它在某个目录中,那么您也必须包含该目录,但由于我们正在使用,.htaccess
我们不需要前面的斜杠。
RewriteRule ^some-directory/yourfile.html$ - [G,L]
如果您已移动文件,则可以回复301 Redirect
以让用户、搜索引擎和其他所有人知道该文件有一个新的永久位置
RewriteRule ^old-directory/yourfile.html$ new-directory/yourfile.html [R=301,L]
如果您想告诉人们该文件仍然存在但他们无法访问它,因为它现在具有特权,那么您可以使对该文件的请求以403 forbidden
.
RewriteRule ^some-directory/yourfile.html$ - [F,L]