mod_rewrite
是 Apache 服务器中的一个模块,用于实现 URL 重写。通过 mod_rewrite
,你可以将复杂的 URL 重写为简单的、友好的 URL,从而提高网站的可访问性和搜索引擎优化(SEO)效果。
RewriteRule
指令进行基本的 URL 重写。RewriteCond
指令在特定条件下应用重写规则。RewriteRule
指令将一个 URL 重定向到另一个 URL。假设我们有一个目录 example
,其中包含一个文件 index.php
,我们希望将 URL http://example.com/example/index.php?id=123
重写为 http://example.com/example/123
。
在 example
目录下创建或编辑 .htaccess
文件,添加以下内容:
RewriteEngine On
RewriteBase /example/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ index.php?id=$1 [L,QSA]
RewriteEngine On
:启用重写引擎。RewriteBase /example/
:设置重写的基本路径。RewriteCond %{REQUEST_FILENAME} !-f
:如果请求的文件不存在,则继续处理。RewriteCond %{REQUEST_FILENAME} !-d
:如果请求的目录不存在,则继续处理。RewriteRule ^([0-9]+)/?$ index.php?id=$1 [L,QSA]
:将匹配的 URL 重写为 index.php?id=$1
,其中 $1
是匹配的数字。.htaccess
文件位于正确的目录,并且 Apache 服务器已启用 mod_rewrite
模块。通过以上步骤和示例代码,你应该能够成功实现 URL 重写,并解决常见的重写问题。
领取专属 10元无门槛券
手把手带您无忧上云