使用htacces文件

时间:2017-11-09 14:22:45

标签: html .htaccess

似乎我无法弄清楚要做什么才能摆脱.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]

有人可以帮帮我吗?谢谢!

1 个答案:

答案 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>

然后,您就可以在没有扩展名的情况下调用文件。在测试之前,请确保清除缓存。