仅从多站点URL获取子目录名称

时间:2018-09-26 作者:markb

我只想从网络站点获取子目录名,我已经查看了codex,但找不到已经完成此操作的函数。

我已经想出了一些选择来达到我需要的目的,但我想知道是否有:

一个我还没有见过的功能,这些选项中哪一个工作得最好,效率最高,选项1:

$url = get_bloginfo( \'url\' );                     // output http://example.com/site1
$str = preg_replace( \'#^https?://#\', \'\', $url );  // output example.com/site1
$dom = parse_url( $url );
$dom = str_replace( \'www.\', \'\', $dom[\'host\'] );   // output example.com

$out = str_replace( $dom . \'/\', \'\', $str );       // just the subdirectory
选项2:

$url = get_blog_details()->path;                 // output /site1/
$dom = str_replace( \'/\', \'\', $url );             // output site1
显然,选项2的线路更少,但我不确定它是最高效还是最干净的。

1 个回复
最合适的回答,由SO网友:jdm2112 整理而成

在代码方面,唯一比选项2更有效的方法是使用以下一行代码:

<?php
$dom = str_replace( \'/\', \'\', get_blog_details()->path );

结束

相关推荐

使用WP MultiSite在htaccess文件中为不同的域创建重写规则

通常,如果您有一个WordPress网站,那么在.htaccess 您的域的文件。例如,如果您的域是DomainA。com,您有以下重写规则:RewriteRule ^i-like-([a-zA-Z0-9-]+)/$ wp-content/themes/customtheme/custom-pages/ilike.php?like=$1 [L] 你将获得域名。com/i-like-。。。但如果我有一个包含以下域的多站点,该怎么办:域名。com(主域)域B。com(映射域)域C。com(映射域),