有关 mod-rewrite 规则的帮助

有关 mod-rewrite 规则的帮助

我该怎么说,“如果文件在目录中/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>

相关内容