我想问你们,因为我的重写规则存在问题而且我无法弄明白如何编写好的规则。 我有这个规则:
RewriteRule ^wp-content/uploads/(.*[^(.js|.swf)])$ authenticate.php?file=$1
我想做的是每当有人试图在authenticate.php
上传目录中打开内容时将用户重定向到wp-content
,我想将文件名发送到php
例如:
http://domain.tld/wp-content/uploads/2015/11/something.pdf
重定向到authenticate.php?file=something.pdf
但不幸的是我的正则表达式被打破了。有人能帮助我吗?
非常感谢你!
答案 0 :(得分:1)
在.htaccess
中尝试使用
RewriteCond %{REQUEST_URI} !(?:js|swf)$ [NC]
RewriteRule ^wp-content/uploads/(.+)$ authenticate.php?file=$1 [NC,L]
对于http://domain.tld/wp-content/uploads/2015/11/something.pdf
结果:http://domain.tld/authenticate.php?file=2015/11/something.pdf
答案 1 :(得分:0)
尝试使用带有负前瞻的正则表达式:
view.loadData(getString(R.string.info), "text/html", "utf-8");`
以下网址将与正则表达式匹配:
^.*?wp-content\/uploads\/.*?\.(?!js$|swf$)[^.]+$
但是,以http://cpsma.ie/wp-content/uploads/2015/09/CPSMA-Newsletter-No-35-Sept-2015-2.pdf
或.js
结尾的类似网址不会匹配。因此,以下两个URL not 与正则表达式匹配:
.swf
你可以在这里测试这个正则表达式: