|
|
|
Проблема с редиректом за шлюзом
|
|||
|---|---|---|---|
|
#18+
Организация имеет один внешний ip с шлюзом, через который разруливает несколько веб-серверов доменами третьего уровня. На моем сервере сидит единственный сайт в корне (//localhost), снаружи он виден как subdom.domain.ru, причем при вводе адреса происходит редирект на subdom.domain.ru/folder. Главный сайт написан на классическом asp, а у него есть примочка, написанная на ASP.NET, которая вскрыла одну проблему. Выкладываю на сайт файлы test.asp, test.aspx и test.htm. test.asp: Код: plaintext 1. 2. 3. test.aspx: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. При вводе subdom.domain.ru/folder/test.asp все происходит как надо — в браузер возвращается адрес subdom.domain.ru/folder/test.htm и оный ресурс невозбранно загружается. При вводе subdom.domain.ru/folder/test.aspx в браузер возвращается адрес subdom.domain.ru/test.aspx. Путь /folder/ куда-то пропадает, а браузер загружает популярную страницу 404. Вопрос: что это за подстава со стороны IIS/.NET? Как с ней разобраться? Вот ответы сервера: на test.asp: HTTP/1.1 302 Object moved Via: 1.1 GDC Content-Length: 137 Date: Wed, 04 Apr 2012 12:09:56 GMT Location: test.htm Content-Type: text/html Server: Microsoft-IIS/7.5 Cache-Control: private X-Powered-By: ASP.NET Keep-Alive: timeout=5, max=100 <head><title>здесь был битый юникод</title></head> <body><h1>здесь был битый юникод</h1>здесь был битый юникод <a HREF="test.htm">здесь был битый юникод</a>.</body> на test.aspx: HTTP/1.1 302 Found Via: 1.1 GDC Content-Length: 128 Date: Wed, 04 Apr 2012 12:10:03 GMT Location: /test.htm Content-Type: text/html; charset=utf-8 Server: Microsoft-IIS/7.5 Cache-Control: private X-AspNet-Version: 2.0.50727 X-Powered-By: ASP.NET Keep-Alive: timeout=5, max=100 <html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="%2ftest.htm">here</a>.</h2> </body></html> HTTP/1.1 404 Not Found Via: 1.1 GDC Content-Length: 206 Date: Wed, 04 Apr 2012 13:22:42 GMT Content-Type: text/html; charset=iso-8859-1 Server: Apache/2.2.10 (Unix) DAV/2 PHP/5.2.8 Keep-Alive: timeout=5, max=99 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL /test.htm was not found on this server.</p> </body></html> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2012, 16:17 |
|
||
|
Проблема с редиректом за шлюзом
|
|||
|---|---|---|---|
|
#18+
Суть подставы выявилась: Location: test.htm (для asp) Location: /test.htm (для aspx) Если сделать редирект на /test.htm в asp, то картина точно такая же как в aspx. Unix-шлюз как-то по-своему резолвит этот слеш. Так что вопрос теперь конкретный: как отучить iis от слеша в location в aspx? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2012, 16:51 |
|
||
|
Проблема с редиректом за шлюзом
|
|||
|---|---|---|---|
|
#18+
Полу-решение: не пользоваться редиректом. Код: vbnet 1. 2. 3. Хорошо что у меня собственный clsResponse, так что нужна всего одна правка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2012, 17:14 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37738699&tid=1359748]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 376ms |

| 0 / 0 |
