選擇使用伺服器的重寫(rewrite)引擎,抓取符合特定情況的網址,然後重寫它們如同直接連結。目前可以支援IIS 7和Apache網站伺服器。

Joomla 可以支援IIS 7和Apache網站伺服器重寫rewrite引擎

Joomla Plesk伺服器的重寫rewrite引擎

只針對Apache使用者!
在啟用之前,重新命名htaccess.txt為.htaccess檔名。

只針對IIS 7使用者!
在啟用之前,重新命名web.config.txt為web.config檔名,以及安裝IIS URL Rewrite模組。

Joomla Plesk IIS 7.5重寫偽靜態規則實現偽靜態

若你的Joomla目錄下提供的,重新命名web.config.txt為web.config檔名,還是無法使用URL Rewrite,請安裝的目錄下編輯web.config,如果沒有該文件請新建,內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="Common Exploit Blocking" stopProcessing="true">
                    <match url="^(.*)$" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{QUERY_STRING}" pattern="mosConfig_[a-zA-Z_]{1,21}(=|\%3D)" />
                        <add input="{QUERY_STRING}" pattern="base64_encode.*\(.*\)" />
                        <add input="{QUERY_STRING}" pattern="(\&lt;|%3C).*script.*(\>|%3E)" />
                        <add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" />
                        <add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" />
                    </conditions>
                    <action type="Redirect" url="index.php" appendQueryString="false" redirectType="SeeOther" />
                </rule>
                <rule name="Joomla Search Rule" stopProcessing="true">
                    <match url="(.*)" ignoreCase="true" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{URL}" pattern="^/search.php" ignoreCase="true" />
                    </conditions>
                    <action type="Rewrite" url="/index.php?option=com_content&amp;view=article&amp;id=4" />
                </rule>
                <rule name="Joomla Main Rewrite Rule" stopProcessing="true">
                    <match url="(.*)" ignoreCase="true" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{URL}" pattern="(/[^.]*|\.(php|html?|feed|pdf|raw))$" />
                        <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>
        <caching>
            <profiles>
                <add extension=".php" policy="DisableCache" kernelCachePolicy="DisableCache" />
            </profiles>
        </caching>
    </system.webServer>
</configuration>

相關連結:

Translate .htaccess Content to IIS web.config
Enabling Search Engine Friendly (SEF) URLs on IIS/IIS7

您也可能喜歡這些文章