hide your website's wordpress info/path/way

本文介绍了一个简单的HideWordpressInfo插件,用于隐藏WordPress网站的技术信息。该插件通过修改.htaccess文件和重写WordPress路径来实现功能,适用于WordPress安装在网站根目录的情况。文章还提供了针对多站点环境下使用此插件的解决方案。

Hide Wordpress Info of your website

plugin hide-wp

使用apache语句和wp方法重写
但这个插件有个局限就是,你的网站使用的wordpress的话,必须wp的根目录就是你的网站根目录。
如果你一个网站部署了多个wordpress的话,用不同的目录区分的话,例如,

www.baidu.com/ofo/
www.baidu.com/hptv/

这两个目录ofo和hptv分别是一个完整的wordpress的话,就会出错


but,这个插件极其简单,只有两个文件

OK

hide-wp-admin.php是修改.htaccess的apache语句路由

OK

hide-wp.php是重写wordpress的用到路径的方法

OK

所以必须先修改hide-wp-admin.php在每个语句的Rewrite的destination前面加上你的目录,使得

RewriteRule ^style.css /wp-content/themes/vortex/style.css [L,QSA]

成为

RewriteRule ^style.css /ofo/wp-content/themes/vortex/style.css [L,QSA]

还有就是,如果你的functions.php文件中使用了get_stylesheet_directory_uri()方法,可能会使所有使用该方法的样式和JS文件都无法加载,一般是因为多加了base路径,例如,本来应该是/ofo/home/style.css的,结果是/ofo/ofo/home/style.css了。
所以需要把多余的那部分去掉

function g_base()
{
    $slashed_home = trailingslashit( get_option('home') );
    $base = parse_url( $slashed_home, PHP_URL_PATH );
    $base = str_replace('/','',$base);
    return $base;
}
function get_stylesheet_directory_uri_clean() {
    $stylesheet_dir_uri = get_stylesheet_directory_uri();
    $reg = '(^/'.g_base().')'; #"/". $this->g_base().')';
    $stylesheet_dir_uri = preg_replace($reg, '', $stylesheet_dir_uri);
    return $stylesheet_dir_uri;
}

然后使用get_stylesheet_directory_uri()的地方都是用get_stylesheet_directory_uri_clean()代替

现成的

我修改过的 here,挂载于 renlab


转载于:https://www.cnblogs.com/raybiolee/p/5713306.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值