Mam konfigurację przepisywania adresów URL dla czystych adresów URL w CMS, a mój plik web.config wygląda następująco:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Clean URLs" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="?id={R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Zasadniczo zmienia index.php?id=something
się something
w czyste adresy URL. Bardzo prosty i działa dobrze.
Jak to zwykle w systemów redakcyjnych, w celu zapobieżenia ponownemu pękaniu koniec, każdy podkatalog wymaga albo <remove name="Clean URLs" />
czy <clear />
w pliku web.config tak reguła nie jest dziedziczona.
Czy istnieje sposób określenia w regule nadrzędnej, że jej potomki nie powinny w ogóle dziedziczyć, ograniczając zakres reguły tylko do bieżącego katalogu? Coś takiego <rule name="Clean URLs" stopProcessing="true" inherit="no">
byłoby epickie.