Это правильное регулярное выражение в IIS 7? - PullRequest
0 голосов
/ 02 августа 2011

В дополнение к моему вопросу на Как написать правило перезаписи в IIS, которое разрешает привязки HTML? Мне было интересно, могу ли я сделать следующее или, альтернативно, есть ли опция, аналогичная доступной в Apacheнапример, mod_rewrite с якорной ссылкой

<match url="^ts\/tcs\.aspx$" />
<action type="Redirect" url="http://www.abc.com" />
<conditions>
   <add input="{UrlEncode:{URL}}" pattern="#" />
</conditions>

1 Ответ

0 голосов
/ 02 августа 2011

Вот и мы:

Все, что после хеша (включая сам символ хеша) НЕ будет отправлено на сервер (ТОЛЬКО на стороне клиента), поэтому вы никак не можете сопоставить его.

Это не ограничение IIS - любой веб-сервер делает (точнее, должен делать) то же самое - сам браузер не должен отправлять его на сервер. Конечно, если вы отправляете такой запрос вручную через пользовательский код (PHP, ASP.NET и т. Д.) И соответствующая функция / класс / компонент не строго следует стандартам, то он может быть отправлен, и тогда вы будете иметь его как часть строки запроса (но веб-сервер может отклонить такой запрос, хотя вряд ли).

Если URL-адрес: /something.php?task=show#kitten, тогда #kitten - это хеш (включая фактический хеш-символ #). Правильное имя kitten здесь Идентификатор фрагмента .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...