PHP内置Web服务器上的Wordpress多站点开发

时间:2015-07-16 20:56:46

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

我正在尝试在本地MAC上为Wordpress多站点设置开发环境。我正在使用PHPStorm和内置的PHP网络服务器进行开发。内置Web服务器的一个限制是不支持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的多站点...任何人都可以指出我在如何将其转化为路由脚本?

1 个答案:

答案 0 :(得分: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/来实现目标。尾部斜杠也很重要,因为它不会自动添加它。