.htaccess htaccess重写规则帮助
我需要为htaccess文件创建重写规则,该文件将重写URL,例如:.htaccess htaccess重写规则帮助,.htaccess,.htaccess,我需要为htaccess文件创建重写规则,该文件将重写URL,例如: http://archive.citylaw.org/bsa/2014/03.24.14/300-13-A.pdf 到 规则需要匹配任何链接,例如: http://archive.citylaw.org/bsa/<file-path> http://archive.citylaw.org/bsa/ 这是指向新位置的PDF文件的链接 http://archive.citylaw.org/wp-content/u
http://archive.citylaw.org/bsa/2014/03.24.14/300-13-A.pdf
到
规则需要匹配任何链接,例如:
http://archive.citylaw.org/bsa/<file-path>
http://archive.citylaw.org/bsa/
这是指向新位置的PDF文件的链接
http://archive.citylaw.org/wp-content/uploads/sites/24/bsa/<file-path>
http://archive.citylaw.org/wp-content/uploads/sites/24/bsa/
类似于:
RewriteRule ^(bsa\/.*) /wp-content/uploads/sites/24/$1 [R]
[R]告诉apache发送重定向,这样浏览器将更新其导航栏,通常这可以避免浏览器在重写时无法很好地处理非html文件
在Prix评论后更新,我确实忘记了.htaccess
第二次编辑
.htaccess
重写规则不以/
开头,因此您的规则将失败,它们仅在虚拟主机内使用时以/
开头,用户明确表示.htaccess
。作为旁注,你不需要逃避/
。对于逃避,是的,但我认为我太习惯逃避它了(对于其他人来说,在IMHO之后阅读更清楚)。感谢您的提醒,完全忘记了.htacces的特殊性,如果文件位于DocRootIts的/bsa目录中,您可以这样做,而不是%{QUERY\u STRING}
,因此您不需要该条件,也不需要仅使用重写规则即可。@Prix您应该自己编写答案:)。我更习惯于反向代理模式下的vhost规则,真的不想因为别人的工作而得到感谢。这显然不是vhost问题,你只是在你的答案中添加了一些完全不需要的东西RewriteCond%{QUERY\u STRING}^/bsa\/.$
,你所要做的就是删除斜杠。
RewriteRule ^(bsa\/.*) /wp-content/uploads/sites/24/$1 [R]