Tôi có một trang web được định tuyến bằng php.Quy tắc ghi lại IIS 7 ném Lỗi HTTP 403.14 - Bị cấm nếu thư mục tồn tại
Tôi đã đặt này vào file web.config:
<rewrite>
<rules>
<!-- Quitar los slash '/' del final de la ruta -->
<rule name="RewriteRequestsToPublic">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
</conditions>
<action type="Rewrite" url="/{R:0}" />
</rule>
<!-- la ruta /cursos/ directamente la redirigimos para que no dé error 403.14 al intentar 'explorar' el directorio -->
<rule name="cursos redirect" stopProcessing="true">
<match url="^cursos$" />
<action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
</rule>
<!-- Si el archivo o carpeta solicitado no existe, se realiza la petición a través de index.php -->
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
Nó hoạt động ok cho tất cả các tuyến trang web của tôi, trừ khi trận đấu đường một thư mục hiện có.
Tôi có thư mục cấu trúc này:
index.php
cursos/img
assets/img
trang web của tôi quản lý không có vấn đề các tuyến đường như: /paginas
, /paginas/contacto
, cursos/masinformacion/10
, cursos/img/banner.jpg
, vv ...
Nhưng nếu tôi cố gắng goto /cursos
i get: Lỗi HTTP 403.14 - Bị cấm
Tôi đã thêm các dòng này vào web.config
tệp:
<!-- la ruta /cursos/ directamente la redirigimos para que no dé error 403.14 al intentar 'explorar' el directorio -->
<rule name="cursos redirect" stopProcessing="true">
<match url="^cursos$" />
<action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
</rule>
Và bây giờ là:
<rewrite>
<rules>
<!-- Quitar los slash '/' del final de la ruta -->
<rule name="RewriteRequestsToPublic">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
</conditions>
<action type="Rewrite" url="/{R:0}" />
</rule>
<!-- la ruta /cursos/ directamente la redirigimos para que no dé error 403.14 al intentar 'explorar' el directorio -->
<rule name="cursos redirect" stopProcessing="true">
<match url="^cursos$" />
<action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
</rule>
<!-- Si el archivo o carpeta solicitado no existe, se realiza la petición a través de index.php -->
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
Nhưng nó vẫn không hoạt động. Dường như IIS cố gắng truy cập vào thư mục cursos
trước khi chạy các quy tắc viết lại
Cảm ơn bạn! Nó hoạt động hoàn hảo –