WordPress 301 перенаправляет на IIS - PullRequest
0 голосов
/ 03 января 2019

Я действительно изо всех сил пытаюсь заставить работать перенаправления 301 на нашем сервере после развертывания нового веб-сайта.Все, что я пробовал, приводило к ошибке 500 или просто не работало.

Ниже приведен отрывок раздела перезаписи из моего web.config файла.

<rewrite>
    <rules>
        <rule name="wordpress" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.php" />
        </rule>
        <rule name="301 Redirect 1" stopProcessing="true">
            <match url="^join$" />
            <action type="Redirect" url="careers" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

Я ожидалЯ могу перенаправить http://www.example.com/join на http://www.example.com/careers, но я получаю 404 при доступе к http://www.example.com/join.

Я проверил, и модуль перезаписи URL установлен и включен.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Замените код в файле web.config и обновите его следующим кодом:

 <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
0 голосов
/ 08 января 2019

переместите ваш 301 редирект в качестве первого правила перед правилом wordpress.

<rewrite>
    <rules>
        <rule name="301 Redirect 1" stopProcessing="true">
            <match url="^join$" />
            <action type="Redirect" url="careers" redirectType="Permanent" />
        </rule>
        <rule name="wordpress" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.php" />
        </rule>
    </rules>
</rewrite>
...