我在php
上进行IIS
编程。我正在使用的PHP框架是Yii。隐藏index.php
并使用友好网址我在urlManager
文件上启用了config.php
。我的问题是,当我尝试导航到我的控制器服务器返回错误404.我认为重写规则有问题但我不熟悉IIS
网络服务器。有人能帮助我吗?
答案 0 :(得分:2)
我已经解决了我的问题。这是.htaccess
中的原始规则:
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
以下是web.config
格式的翻译:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<rewrite>
<rules>
<rule name="Hide Yii Index" stopProcessing="true">
<match url="." ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>