【问题标题】:Wordpress Multisite development on PHP Built-In WebserverPHP 内置 Web 服务器上的 Wordpress 多站点开发
【发布时间】:2015-07-16 20:56:45
【问题描述】:

我正在尝试在我的本地 MAC 上为 Wordpress 多站点设置开发环境。我正在使用 PHPStorm 和内置的 PHP 网络服务器进行开发。内置网络服务器的限制之一是不支持 apache mod_rewrite,而是使用路由脚本。但是,很少有关于从 .htaccess 规则转换成这些规则的明确文档。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) wordpress/$1 [L]
RewriteRule ^(.*\.php)$ wordpress/$1 [L]
RewriteRule . index.php [L]

这是我开始的地方,基本的 Wordpress 重定向 htaccess 用于在其自己的目录 (/wordpress) 中使用 Wordpress 的多站点...任何人都可以为我指出如何将其转换为路由的资源的好方向脚本?

【问题讨论】:

  • 我认为 WordPress 多站点无法与本地开发服务器一起工作。
  • 实际上,在经历了许多痛苦和虐待之后,我们已经让它运行起来了。当我有时间时,我会在这里发布方法。唯一的烦恼是没有办法让内置监听多个主机名(我们为每个位置的站点使用不同的域),因此您必须停止并使用新主机名重新启动服务器。

标签: wordpress .htaccess mod-rewrite php-builtin-server


【解决方案1】:

所以我们终于设法让它发挥作用(至少为每个站点使用不同的域)。这是它所需要的: 在 wp-config.php 开头附近添加一行来检测主机名并用它定义一个常量:

define('APP_HOST', $_SERVER['HTTP_HOST']);

然后进行以下 wp-config 更改:

/** URL to wp-content directory */
define('WP_CONTENT_URL', 'http://' . APP_HOST . '/wp-content');

/** Domain name of default WordPress website */
define('DOMAIN_CURRENT_SITE', APP_HOST);

(请注意,我们的 wp-content 文件夹与我们的 wordpress 文件夹、我们的设置首选项是分开的,因此我们可以从 git 更新 WP 而不是 [据我所知] 必需的。)

从那里它应该根据您的服务器运行的主机名“更新”自身。我们发现的限制是内置 Web 服务器不会运行 SSH(因此没有 SSH Admin),并且它不会执行 /wordpress/wp-admin 重定向。因此,要访问 wp-admin,您需要使用 local.sitename.com/wordpress/wp-admin/ 到达那里。尾部斜杠也很重要,因为它不会自动添加它。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-08-18
  • 1970-01-01
  • 2016-12-23
  • 2013-02-12
  • 1970-01-01
  • 2016-06-07
  • 1970-01-01
  • 2012-04-04
相关资源
最近更新 更多