Joomla网站如何通过.htaccess重定向任意层级含'wp'的URL?
解决Joomla网站拦截含WordPress路径请求的.htaccess配置
核心配置方案
要拦截所有包含wp开头路径段的请求(无论层级,比如/wp-json/、/2018/wp-includes/这类),可以在.htaccess中添加以下规则,务必放在Joomla默认Rewrite规则(如RewriteRule .* index.php [L])之前:
方案1:拦截所有含wp开头的路径段
RewriteEngine On RewriteRule (^|/)wp http://goaway.com [R=301,L,NC]
(^|/):确保wp是独立路径段的开头(避免误匹配/mywpcontent/这类非WordPress路径)NC:忽略大小写,拦截WP-、Wp-等变种请求R=301:永久重定向,告知搜索引擎此类URL无效L:停止执行后续规则,直接跳转
方案2:精准拦截WordPress专属路径
如果想只拦截明确的WordPress相关路径(减少误拦截概率),可以用条件匹配:
RewriteEngine On RewriteCond %{REQUEST_URI} (^|/)wp-(admin|content|includes|json|login|xmlrpc) [NC] RewriteRule ^ http://goaway.com [R=301,L]
关键注意事项
- 规则顺序:必须将拦截规则放在Joomla自带的URL重写规则之前,否则Joomla的规则会优先触发,导致拦截失效。
- 测试验证:用curl命令测试规则是否生效:
若返回curl -I http://你的Joomla域名/2018/wp-includes/wlwmanifest.xml301 Moved Permanently且跳转目标正确,说明规则生效。 - 排除合法路径:如果你的网站有含
wp的合法路径,可添加排除条件:
将其放在RewriteCond %{REQUEST_URI} !^/你的合法路径/ [NC]RewriteRule之前即可。 - 清除缓存:301重定向会被浏览器缓存,测试前务必清除浏览器缓存或使用无痕模式。
内容的提问来源于stack exchange,提问作者Gillian
相关产品推荐
相关产品推荐

