Я пытаюсь скрыть расширение .php от оконного хостинга.
Я пытаюсь это с помощью web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rule name="hide .php extension" 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="{R:1}.php" />
</rule>
</rewrite>
</system.webServer>
</configuration>
Он показывает ошибку 404, пожалуйста, предложите, где проблема.
Спасибо.
Я также занимаюсь разработкой PHP в среде Windows IIS, и ваше правило отлично работает для моей среды. Проверьте мой web.config, который отлично работает для меня, может быть, это поможет вам;
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<globalization fileEncoding="UTF-8" responseEncoding="UTF-8" culture="tr-TR" uiCulture="tr-TR" />
</system.web>
<system.webServer>
<defaultDocument>
<files>
<add value="index.php" />
</files>
</defaultDocument>
<rewrite>
<rules>
<rule name="hide .php extension" 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="{R:1}.php" />
</rule>
</rewrite>
<handlers>
<add name="PHP" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\php\php-cgi.exe" resourceType="File" />
</handlers>
</system.webServer>
</configuration>
PS: Если это не работает для вас, вы можете проверить Event Viewer
для вашей ОС Windows
Других решений пока нет …