我该怎么说,“如果文件在目录中/wp-content/*
,则只要它是,就提供它.+\.(jpe?g|gif|png|js|css)$
,否则抛出[F] orbidden。”
我似乎不知道从哪里开始。
我对正则表达式没意见,但我的 mod-rewrite 技能(显然)不足。
答案1
像这样:
RewriteEngine On
RewriteOptions Inherit
RewriteCond %{REQUEST_URI} ^/wp-content/.*
RewriteCond %{REQUEST_URI} !.+\.(jpe?g|gif|png|css|js)$
RewriteRule ^/(.*)$ - [F]
我没有可以测试它的机器,但这里的想法是两个条件,检查 URI 中的 wp-content 目录,然后是您想要静态提供的文件的否定条件。其他一切都应该出现 403 错误。如果不正确,它肯定会为您指明正确的方向 ;-)
编辑:语法应该是 %{} 而不是 {%} -- 谢谢 Jeff!
答案2
更紧凑的版本服务器忍者的代码片段如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond {%REQUEST_URI} !^/wp-content/.*\.(jpe?g|gif|png|css|js)
RewriteRule ^.*$ - [F]
</IfModule>