Puncte:1

Rescrierea adresei URL IIS 10 dând eroare 404

drapel co
SBO

În prezent, sunt blocat cu regulile mele de rescriere și aș avea nevoie de câteva indicii despre asta.

Iata situatia: Avem două site-uri web, unul este website.com, celălalt este website-staging.com (doar exemple aici ofc)

Pe website.com, pentru anumite adrese URL, aș dori să folosesc o regulă de rescriere pentru a accesa site-ul web de punere în scenă și pentru a afișa rezultatele.

Iată regula din fișierul web.config:

<rule name="RewriteSearchQueries" patternSyntax="Wildcard" stopProcessing="true">
<match url="search?*" />
<action type="Rewrite" url="https://website-staging.com/{R:0}" logRewrittenUrl="true" />

Am facut testul de model, totul e ok. Adresa URL folosită pentru rescriere funcționează corect, totuși, când accesez website-staging.com/search?arg=1&blabla=2, am un mesaj de eroare 404:

404 - Fișier sau director nu a fost găsit. Este posibil ca resursa pe care o căutați să fi fost eliminată, să i s-a schimbat numele sau să fie temporar indisponibilă.

Am încercat să pun și următoarea acțiune:

<action type="Rewrite" url="https://website-staging.com/search?{R:1}" logRewrittenUrl="true" />

Și nici nu a funcționat. Orice indiciu ?

EDITARE: Rutarea cererii de aplicație este instalată, proxy-ul este activat.

Lex Li avatar
drapel vn
Cu FRT activat, https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules ar trebui să vă puteți ajuta singur . Sugestii: interogările nu sunt procesate în eticheta `match`, deci modelul dvs. nu va funcționa. Ar trebui să utilizați o condiție în schimb.Utilizați un motor de căutare pentru a găsi exemple de șiruri de interogări.
SBO avatar
drapel co
SBO
Mulțumesc, FRT a ajutat într-adevăr, voi posta un răspuns :)
Puncte:0
drapel co
SBO

Deci.. După instalarea FRT conform recomandărilor Lex Li, am văzut că nu există nicio potrivire, prin urmare nu s-a făcut nicio rescriere a URL-ului.

Am testat din nou și din nou modelul, totul a fost în regulă.

În cele din urmă, am decis să înlocuiesc wildcard-ul cu regex și... Tadam ! A mers. Dintr-un motiv pe care nu-l pot explica, modelul wildcard nu a fost detectat corect, în ciuda faptului că a fost OK cu testerul de modele, în timp ce utilizarea regex a făcut trucul perfect.

Deci, dacă vă confruntați cu o problemă similară, regex până la capăt!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.