URL 重寫(Rewrite)是一種在不改變網站內部結構的情況下,通過修改 URL 格式來提高網站易用性和搜索引擎優化(SEO)的技術。在 Web 服務器上實現 URL 重寫,可以將復雜、難以理解的 URL 轉換為簡單、易于記憶的 URL。
以下是一些常見的 Web 服務器及其 URL 重寫方法:
mod_rewrite
模塊實現 URL 重寫。首先,確保已經啟用了 mod_rewrite
模塊。然后,在 .htaccess
文件中添加以下代碼:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
這個例子將所有非文件和非目錄的請求重寫到 index.php
文件。你可以根據需要修改重寫規則。
rewrite
指令實現 URL 重寫。在 Nginx 配置文件中,找到 server
塊并添加以下代碼:
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php/$1 last;
}
}
這個例子將所有非文件和非目錄的請求重寫到 /index.php
文件。你可以根據需要修改重寫規則。
URL Rewrite
模塊實現 URL 重寫。首先,確保已經安裝了 URL Rewrite
模塊。然后,在 web.config
文件中添加以下代碼:
<rewrite>
<rules>
<rule name="Rewrite to index.php" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/index.php/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
這個例子將所有非文件和非目錄的請求重寫到 /index.php
文件。你可以根據需要修改重寫規則。
注意:不同的 Web 服務器可能需要不同的配置方法。請根據實際情況進行調整。