Joomla生成的各个页面默认使用带查询参数的URL。在Apache中可以通过.htaccess文件配置URL重写,在IIS6中需要ISAPI_Rewrite或者Ionics ISAPI Rewrite Filter之类的插件实现URL重写,而在IIS7中可以通过安装Microsoft URL Rewrite Module for IIS 7实现。以下是IIS7中Joomla通过URL Rewrite实现搜索引擎友好地址的方法。
1、下载并安装Microsoft URL Rewrite Module for IIS 7(好多虚拟主机提供商默认已经安装了,比如GoDaddy.com)。
2、在Joomla安装目录中创建文件名为Web.config的文件。
3、在Web.config文件中粘贴以下内容并保存:
<?xml version=”1.0″ encoding=”UTF-8″?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”Security Rule” stopProcessing=”true”>
<match url=”^(.*)$” ignoreCase=”false” />
<conditions logicalGrouping=”MatchAny”>
<add input=”{QUERY_STRING}” pattern=”mosConfig_[a-zA-Z_]{1,21}(=|\%3D)” ignoreCase=”false” />
<add input=”{QUERY_STRING}” pattern=”base64_encode.*\(.*\)” ignoreCase=”false” />
<add input=”{QUERY_STRING}” pattern=”(\<|%3C).*script.*(\>|%3E)” />
<add input=”{QUERY_STRING}” pattern=”GLOBALS(=|\[|\%[0-9A-Z]{0,2})” ignoreCase=”false” />
<add input=”{QUERY_STRING}” pattern=”_REQUEST(=|\[|\%[0-9A-Z]{0,2})” ignoreCase=”false” />
</conditions>
<action type=”CustomResponse” url=”index.php” statusCode=”403″ statusReason=”Forbidden” statusDescription=”Forbidden” />
</rule>
<rule name=”SEO Rule”>
<match url=”(.*)” ignoreCase=”false” />
<conditions logicalGrouping=”MatchAll”>
<add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” pattern=”" ignoreCase=”false” />
<add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” pattern=”" ignoreCase=”false” />
<add input=”{URL}” negate=”true” pattern=”^/index.php” ignoreCase=”false” />
<add input=”{URL}” pattern=”(/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$” />
</conditions>
<action type=”Rewrite” url=”index.php” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
4、在中修改以下配置:
