如何用Mod Rewrite实现带动态category-slug的内部重定向?
使用Mod Rewrite实现动态内部重定向
完全可以通过Mod Rewrite实现这种动态内部重定向,不需要为每个类别单独编写规则,一条通用规则就能搞定。
直接在网站根目录的.htaccess文件中添加以下规则:
RewriteEngine On RewriteRule ^category/([^/]+)$ /blog/?ucterms=category~$1 [L,NC,QSA]
规则解释:
^category/([^/]+)$:正则表达式匹配以/category/开头的URL,([^/]+)会捕获最后斜杠后的所有非斜杠字符(也就是你的动态category-slug),并将其存储为反向引用$1。/blog/?ucterms=category~$1:这是目标URL,把捕获到的$1(也就是动态slug)追加到category~后面。- 标志说明:
[L]:表示这是最后一条匹配规则,处理完这条后不再执行后续规则。[NC]:不区分URL的大小写,比如/Category/XXX也能匹配。[QSA]:如果原URL带有其他查询参数(比如/category/tech?foo=bar),会自动保留并追加到目标URL后面,变成/blog/?ucterms=category~tech&foo=bar。
注意事项:
- 确保你的Apache服务器已经启用了
mod_rewrite模块。 - 网站根目录的
.htaccess文件需要有足够的权限,并且服务器配置中的AllowOverride设置允许使用Rewrite规则(通常设置为AllowOverride All)。
内容的提问来源于stack exchange,提问作者joe king
相关产品推荐
相关产品推荐

