关于使用子目录在 Windows Azure 上运行的 Wordpress Multisite 的问题:它有效吗?你怎么做呢?。
我已经从 Azure Gallery 安装了 Wordpress(4.2.2),更新了 wp.config.php 和 web.config 文件以启用和安装 Multisites,但结果是一个半有效的解决方案:安装了 Multi-sites,我可以创建和删除新站点,但新站点没有 css 样式(404 错误)并且我无法访问他们的管理仪表板(404:您要查找的资源已被删除、更改名称或暂时不可用)。
因此,例如,基础网站:
http://mywordpressmultisite.azurewebsites.net
工作正常。但是多站点:
http://mywordpressmultisite.azurewebsites.net/site2/ http://mywordpressmultisite.azurewebsites.net/site3/
显示一个无样式的 css 网站,但由于我没有管理员访问权限,因此我无法对它们做任何事情;可能是路由错误。
更多细节
我已经按照这篇文章的方法:https : //azure.microsoft.com/en-gb/documentation/articles/web-sites-php-convert-wordpress-multisite/,在 Azure 上设置 Wordpress Multisite for sub -目录。我没有关注过去标题为添加自定义域的部分,因为我不想这样做(无论如何)。
我的 web.config 文件是:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress Rule 1" stopProcessing="true">
<match url="^index\.php$" ignoreCase="false" />
<action type="None" />
</rule>
<rule name="WordPress Rule 2" stopProcessing="true">
<match url="^([_0-9a-zA-Z-]+/)?wp-admin$" ignoreCase="false" />
<action type="Redirect" url="{R:1}wp-admin/" redirectType="Permanent" />
</rule>
<rule name="WordPress Rule 3" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
</conditions>
<action type="None" />
</rule>
<rule name="WordPress Rule 4" stopProcessing="true">
<match url="^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)" ignoreCase="false" />
<action type="Rewrite" url="{R:1}" />
</rule>
<rule name="WordPress Rule 5" stopProcessing="true">
<match url="^([_0-9a-zA-Z-]+/)?([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" />
<action type="Rewrite" url="{R:2}" />
</rule>
<rule name="WordPress Rule 6" stopProcessing="true">
<match url="." ignoreCase="false" />
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我的 wp-config.php 是:
define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'mywordpressmultisite.azurewebsites.net');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
我尝试过的事情
- 使用免费和共享托管解决方案。
- 检查永久链接在标准 wordpress 和基本 No1 站点上的工作(所以 mywordpressmultisite.azurewebsites.net/helloworld 工作)。
- 清理数据库并重新开始整个过程。
- 更改文件权限以允许读取、写入和执行;以防万一。
调试
我已经在 Windows Azure 上配置了 WebApp 以记录所有可能的内容,但它没有吐出任何东西。php_error.log 或我能找到的其他日志文件中没有任何内容。我已经按如下方式配置了 wordpress wp-config.php,但是我再也找不到任何东西了:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
@ini_set('display_errors', 0);
我在哪里我 对如何完成这项工作一无所知,我开始怀疑它是否真的适用于 Azure 的子目录?我在网上看到过其他关于这个问题的参考资料,但没有解决方案。