I want to remove index.php from url , i am using wordpress and iis7 . how can i do this
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Use this web.config
(web.config is the IIS equivalent to .htaccess file in apache webservers. It can be found in the root folder. If there is none, you need to create one.)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<defaultDocument>
<!-- Set the default document -->
<files>
<remove value="index.php" />
<add value="index.php" />
</files>
</defaultDocument>
<httpErrors errorMode="Detailed"/>
<rewrite>
<rules>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Then in permalinks page, set "Custom Structure" and give the value /%postname%/
Note that URL Rewrite module specific to IIS version needs to be installed for this to function(Thanks to @Spikolynn's comment below)
回答2:
Another pretty quick solution, in a situation where you uses Windows Azure websites, is to use Microsoft WebMatrix
to login into your website and just create a web.config file as this article pointed out. That solves it. No need to install a URL Rewrite extension
or anything like that yourself. MS Webmatrix seem to solve the problem easily.