我通常在Nginx+PHP-FPM的子目录中运行WP(类似于Mark Jaquith\'s Skeleton) 没有任何问题,所有permalinks都工作正常。现在我试着用WordPress Multisite做这个,但遇到了一些问题。
我的wp配置。php设置:
// Give WordPress it\'s own directory
define( \'WP_SITEURL\', \'http://\' . $_SERVER[\'SERVER_NAME\'] . \'/core\' );
define( \'WP_HOME\', \'http://\' . $_SERVER[\'SERVER_NAME\'] );
// Use custom content directory
define( \'WP_CONTENT_DIR\', dirname( __FILE__ ) . \'/content\' );
define( \'WP_CONTENT_URL\', \'http://\' . $_SERVER[\'SERVER_NAME\'] . \'/content\' );
在文件系统中,它如下所示:
content/ - wp-content direcotry
index.php
languages/
plugins/
themes/
core/ - wordpress directory
index.php
wp-admin/
wp-content/ - original folder, emppty
wp-includes/
... - other wp core files
index.php
wp-config.php
对于Multisite,我希望有子域站点,例如:
one.example.com
two.example.com
three.example.com
网络安装后,我在根域上有一个主站点,即
example.com
, 但它切换到
example.com/core
, 这不是我需要的。
How to remove this /core/
part from the main site frontend?接下来,当我转到主站点管理时,它将通过example.com/core/wp-admin/
这是正确的。但当我转到网络管理员时,它会切换到example.com/wp-admin/network/
并显示“未找到”。如果我手动添加/core/
作为ulr的一部分,它很有效。How to add /core/
part to Network Admin?
接下来,网络站点的问题。通过我创建的Firebug对html源代码进行了一些黑客攻击one.example.com
. 这是前端工程。当我尝试访问后端时,它会转到one.example.com/wp-admin
(这是错误的,丢失了/core/
部分)和浏览器显示“页面未正确重定向”。如果我手动添加/core/
零件和开口one.example.com/core/wp-admin/
它显示管理页面,但样式和脚本当然丢失了。How to get subdomains admin working?
为了进一步澄清,正确的工作URL应该是:
http://example.com - main network site
http://example.com/core/wp-admin - main network site admin
http://example.com/core/wp-admin/network - network admin
http://one.example.com - some network site
http://one.example.com/core/wp-admin - some network site admin
以下是我当前的Nginx站点配置:
server {
listen 80;
server_name example.com *.example.com;
root /var/www/example.com/httpdocs;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \\.php$ {
fastcgi_split_path_info ^(.+\\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
当WP安装在中时,此配置可以很好地用于常规的单站点WordPress安装
/core/
目录。我已经删除了所有多站点特定的Nginx规则,以便能够从头开始。
我检查了数十个支持主题、Stackoverflow/Stackexchange问题、Nginx论坛等。尝试了不同的配置-无法运行。
感谢您的提示和帮助!