似乎我无法弄清楚要做什么才能摆脱.html扩展。我有托管计划的人说,我必须将htacces规则放在web.confing文件中。
在那个文件中我有这些行:
> <?xml version="1.0" encoding="UTF-8"?> <configuration>
> <system.webServer>
> <defaultDocument>
> <files>
> <remove value="index.php" />
> <add value="index.php" />
> <add value="_deploy.php" />
> </files>
> </defaultDocument> </system.webServer> </configuration>
从现在开始,我已经使用了这个htacces文件并且运行得很好,但是在这个主机提供商处,它不起作用。
RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]
有人可以帮帮我吗?谢谢!
答案 0 :(得分:0)
要使用web.config删除.html
,您可以使用以下内容:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="removehtml" enabled="true">
<match url=".*" negate="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{URL}" pattern="(.*)\.(.*)" negate="true" />
</conditions>
<action type="Rewrite" url="{R:0}.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
然后,您就可以在没有扩展名的情况下调用文件。在测试之前,请确保清除缓存。