我正在尝试通过删除前缀来允许用户访问以wp-开头的JS文件。但是,它会影响目录中没有前缀的其他文件。我知道我在某处缺少东西,这是规则:
RewriteRule ^/?includes/js/(.*).js$ /wp-includes/js/wp-$1.js [QSA,L]
使用/wp-includes/js/wp-file.js
这样的规则URL可以在includes/js/file.js
上访问,但是/wp-includes/js/no-prefix.js
这样的文件不能在includes/js/no-prefix.js
上访问。
我知道它必须与我的重写规则格式有关。有人可以帮我吗?
答案 0 :(得分:0)
这是您需要添加到/.htaccess
(根文件夹)中的规则
RewriteCond %{DOCUMENT_ROOT}/wp-includes/js/wp-$1\.js -f [NC]
RewriteRule ^includes/js/([^/]+)\.js$ /wp-includes/js/wp-$1.js [L]
注意:将此放在WP的主要重写规则之前。
简短说明:如果url为/includes/js/xxx.js
,则它首先检查/wp-includes/js/wp-xxx.js
实际存在。如果是这样,它将在内部进行重写。
警告:将mod_rewrite
与WP一起使用可能会导致问题。在这种情况下不应该是一个问题,但是由于WP内置的重写系统,有时候这样做是一个更好的主意。