Puncte:0

Site-uri web IIS în subdirector => solicitările sursei HTML de a root „/” indică site-ul implicit în loc de subdirector

drapel ph

IIS-ul nostru găzduiește propriul nostru site web. Dar recent am fost însărcinați să găzduim un site web terță parte construit folosind Laravel într-un subdirector.

Site-ul se încarcă, dar majoritatea resurselor, cum ar fi fișierele CSS și JS, nu sunt încărcate (404) din cauza modului în care site-ul terță parte solicită resursele sale. De exemplu:

<script source="/js/site.js"></script>

/js/site.js se traduce prin https://defaultwebsite/js/site.js care nu există. am nevoie /js/site.js a se traduce în https://defaultwebsite/laravel/public/js/site.js.

Este posibil acest lucru în IIS 10?

Iată o schiță a arborelui director:

+ site web implicit
| + laravel
| | + public
| | | + js
| | | | - site.js
| | | - index.php
| + js
| | - ourownjs.js
| - index.php

Avem două reguli de rescriere configurate pentru a gestiona redirecționarea https://defaultwebsite/lavarel la https://defaultwebsite/laravel/public ca aceasta:

<system.webServer>
    <rewrite>
        <rules>
            <rule name="Imported Rule 1-1" stopProcessing="true">
                <match url="^" ignoreCase="false" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{HTTP_AUTHORIZATION}" ignoreCase="false" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    <add input="{URL}" pattern="(.+)/$" ignoreCase="false" />
                </conditions>
                <action type="Redirect" url="{C:1}" redirectType="Permanent" />
            </rule>
            <rule name="Imported Rule 2-1" stopProcessing="true">
                <match url="^" ignoreCase="false" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                </conditions>
                <action type="Rewrite" url="index.php" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

ACTUALIZAȚI Am adăugat recent această regulă la root (site web implicit), dar nu pare să atingă această regulă atunci când site-ul laravel solicită resurse. Chiar dacă pot vedea că modelul HTTP_REFERER este corect.

    <rewrite>
        <rewriteMaps>
            <rewriteMap name="Root" />
        </rewriteMaps>
        <rules>
            <rule name="Rewrite Root => Laravel" stopProcessing="true">
                <match url="(img|js|css)?(.*)" />
                <conditions>
                    <add input="{HTTP_REFERER}" pattern="^https://www.defaultsite.be/laravel(.*)" />
                </conditions>
                <action type="Rewrite" url="laravel/public/{R:1}{R:2}" appendQueryString="true" logRewrittenUrl="true" />
            </rule>
        </rules>
    </rewrite>
Puncte:0
drapel ph

Ei bine, eu nu înțeleg pe deplin. IIS nu va fi niciodată prietenul meu :)

A început să funcționeze când am schimbat regula pentru a redirecționa în loc de a rescrie:

<rules>
    <rule name="Rewrite Root => Laravel" stopProcessing="true">
        <match url="(img|js|css)?(.*)" />
        <conditions>
            <add input="{HTTP_REFERER}" pattern="laravel/.*" />
            <!-- <add input="laravel\public\{R:1}{R:2}" matchType="IsFile" /> -->
            
        </conditions>
        <action type="Redirect" url="/laravel/{R:0}" appendQueryString="true" logRewrittenUrl="false" redirectType="Permanent" />
    </rule>
</rules>

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.