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 服务器可能需要不同的配置方法。请根据实际情况进行调整。