невозможно просмотреть файл php без расширения при размещении файла php на выделенном сервере windows в IIS - PullRequest
0 голосов
/ 08 января 2020

Я не могу просмотреть файлы, размещенные на IIS (windows выделенный сервер 2016) без расширения файла ". php"

ex:

Ниже URL-адреса дает правильную вывод: http://example.com/test/test.php

, в то время как эта версия говорит: http://example.com/test/test

"Ошибка сервера 404 - файл или каталог не найден. Ресурс Вы ищете, возможно, было удалено, изменилось его имя или временно недоступно. "

проверил и включил просмотр каталога, FastCGI, мы можем получить доступ к другим файлам, таким как изображения, PDF, которые та же ссылка.

прошел по ссылке для поиска возможных решений по переводу очищенного кэша «.htaccess» в «web.config» и очистке DNS, но проблема сохраняется.

https://docs.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Поскольку в IIS нет ничего похожего на PHP -экспресс-обработчик, поэтому IIS никогда не сможет обработать PHP без расширения по умолчанию.

Чтобы решить эту проблему, необходимо использовать модуль перезаписи URL переписать URL-адрес без расширения на php url.

Например, вам может потребоваться переписать test \ test to test \ test. php. Поэтому, когда вы вводите test \ test, сервер вернет содержимое test. php.

<rule name="rewrite">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{REQUEST_URI}" pattern="^/test/([a-zA-Z0-9]+)$" />
                    </conditions>
                    <action type="Rewrite" url="{C:0}.php" />
                </rule>

enter image description here

enter image description here

Поскольку я не уверен, какой URL требуется переписать. Вы можете изменить это правило.

0 голосов
/ 08 января 2020

Создайте файл .htaccess в главной папке и используйте

RewriteEngine On
RewriteRule ^file_name?$ file_name.php
...