Скрыть расширение .php в web.config (windows server) под управлением WordPress - PullRequest
0 голосов
/ 10 января 2019

Прежде чем кто-либо сделает этот дубликат вопроса, пожалуйста, выслушайте меня. Я исследовал несколько способов сделать это, которое должно работать, но я думаю, потому что WordPress работает на этом сервере, это вызывает конфликт.

Настройка: WordPress сайт работает на сервере Windows. Однако у меня есть файлы в webroot вне папки wp-content, к которым пользователи должны получить доступ. Мне нужно удалить расширение на этих файлах.

Когда я использую это:

<rewrite>
  <rules>
    <rule name="Redirect .php extension" stopProcessing="false">
      <match url="^(.*).php$" ignoreCase="true" />
    <conditions logicalGrouping="MatchAny">
      <add input="{URL}" pattern="(.*).php$" ignoreCase="false" />
    </conditions>
      <action type="Redirect" url="{R:1}" redirectType="Permanent" />
    </rule>
    <rule name="hide .php extension" stopProcessing="true">
      <match url="^(.*)$" ignoreCase="true" />
    <conditions>
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      <add input="{REQUEST_FILENAME}.php" matchType="IsFile" />
    </conditions>
      <action type="Rewrite" url="{R:0}.php" />
    </rule>
  </rules>
</rewrite>

Это берет расширение из URL, но страницы за пределами WordPress не работают. Я думаю из-за этого, который уже находится в web.config:

<rule name="WordPress: http://hiddenwebsitewp.azurewebsites.net" patternSyntax="Wildcard">
            <match url="*"/>
                <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
                </conditions>
            <action type="Rewrite" url="index.php"/>
        </rule>

Кто-нибудь имел эту проблему раньше?

...