我有以下.htaccess文件:
JSON
如果它不是文件或目录,它会将所有内容重定向到index.php。它工作正常,但是当文件名称中有重音时,它会将url重定向到index.php,因此RewriteCond无法检测到它是现有文件。例如(两个文件都存在):
这有效:http://example.com/something.pdf(给我PDF)
但这不是:http://example.com/somethingá.pdf(将我重定向到index.php)
问题是我无法访问Web服务器conf,因为它位于webhosting服务器上。
系统是Windows Server 2008 R2 Web Server Edition Service Pack 1(由PhpInfo提供)
Web服务器:Microsoft-IIS / 7.5
答案 0 :(得分:0)
根据CD001的评论,我发现IIS可以自动转换.htacess文件,但不会一直100%工作。所以我通过手动将.htaccess
文件转换为web.config
文件来解决问题。转换后的文件是:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rule 1">
<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" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
将其保存为网页根目录中的web.config
以使其正常工作并删除.htacess
。