#php #iis #web-config #url-redirection
#php #iis #web-config #перенаправление
Вопрос:
Я пытаюсь реализовать несколько правил перенаправления в соответствии с конкретными условиями в файле веб-конфигурации на сервере IIS. Я новичок в файле web config, текущий файл web config уже настроен на сервере. Мне нужно внедрить в него еще одно правило. Я искал в Google, но не смог заставить его работать, поскольку у меня недостаточно знаний для web config. Позвольте мне объяснить, что я здесь ищу:
У нас есть каталог «read» на сервере, который содержит еще несколько дочерних каталогов, которые имеют свои независимые index.html файл с css / изображениями. Всякий раз, когда пользователь нажимает URL любого подкаталога в каталоге «read», мне нужно отслеживать некоторую информацию с помощью PHP-скрипта. Итак, я создал PHP-скрипт, который будет фильтровать URL-адреса и отслеживать их ввод, а затем перенаправлять обратно на тот же URL-адрес, который был открыт пользователем. Я поместил файл php в папку «read». Теперь я пытаюсь создать правило, которое сначала попадет в файл php script, прежде чем открывать содержимое любого подкаталога. Кто-нибудь, пожалуйста, помогите?
Например. пользователь нажмет: — «https://www.example.com/read/first/index.html«
URL файла PHP: — «https://www.example.com/read/index.php«
Родительский каталог «прочитан». У меня есть следующие правила, уже присутствующие в файле веб-конфигурации:-
<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-] /)?files/(. )" ignoreCase="false" />
<action type="Rewrite" url="wp-includes/ms-files.php?file={R:2}" appendQueryString="false" />
</rule>
<rule name="WordPress Rule 3" 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 4" 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" />
<add input="{URL}" pattern="([a-zA-Z0-9./_-] ).axd" />
</conditions>
<action type="None" />
</rule>
<rule name="WordPress Rule 5" 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 6" stopProcessing="true">
<match url="^([_0-9a-zA-Z-] /)?(.*.php)$" ignoreCase="false" />
<action type="Rewrite" url="{R:2}" />
</rule>
<rule name="WordPress Rule 7" stopProcessing="true">
<match url="." ignoreCase="false" />
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
Комментарии:
1. Прочитайте FRT, чтобы увидеть, что происходит под капотом, learn.microsoft.com/en-us/iis/extensions/url-rewrite-module/… затем вы можете пересмотреть свои правила.
2. @LexLi спасибо за ваш ответ. я рассмотрю это