Мне нужно настроить WordPress в виртуальное приложение на основном веб-сайте, работающем в классическом режиме ASP.NET 2.0.
Все работает нормально, PHP 5.3.13 / MySQL 5.1 / IIS 7.5, сайт wordpress тоже работает нормально, кроме перезаписи.
Блог размещен на www.mysite.com/blog, и при переписывании статья обычно переписывается на www.mysite.com/blog/categorie/this-is-a-pretty-article, но вместо этого она переписывается на www.mysite.com/ blogcategorie / this-is-a-pretty-article, как вы видите, он разделяет теги между блогом и категорией, что не подходит.
Правила перезаписи внутри web.config довольно просты, взяты из автоматически сгенерированного раздела постоянных ссылок Wordpress:
<rewrite>
<rules>
<clear />
<rule name="wordpress" patternSyntax="Wildcard" stopProcessing="false">
<match url="*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
Я теряю почти весь день на этом, так что я не могу спросить, может быть, это хорошая идея ...
У кого-нибудь уже были такие проблемы с wordpress на IIS?
заранее спасибо
Я думаю, ваша проблема - это чисто проблема с настройками WordPress. Правила перезаписи из вашего сообщения важны только для входящих запросов. Т.е. они переписывают URL из входящего запроса на страницу index.php. Они не имеют значения для любых URL-адресов, сгенерированных WordPress, и, очевидно, именно в этом и заключается ваша проблема.
Я предполагаю, что вы неправильно настроили Settings -> General -> WordPress address (URL)
и Settings -> General -> Site address (URL)
. Оба должны быть установлены на http://www.mysite.com/blog
(без косой черты в конце). Если вы используете собственные постоянные ссылки (Settings -> Permalinks
) вы должны пропустить /blog
перед ним. WordPress добавит это автоматически, как показано на этой странице.
При такой настройке он должен работать.