如何为特定文件夹URL添加斜杠?现有.htaccess已配置移除斜杠
解决方案
要实现仅对/ppc/photo/sd-xxx这类URL强制添加末尾斜杠,同时保留其他路径的斜杠移除规则,需要在现有规则之前添加针对特定路径的匹配规则(Rewrite规则按从上到下顺序执行,优先匹配特定场景)。
具体.htaccess配置
先添加特定路径的强制加斜杠规则:
# 为 /ppc/photo/sd-xxx 强制添加末尾斜杠(精确匹配) RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ppc/photo/sd-xxx$ /$0/ [R=301,L]
如果sd-xxx是动态前缀(比如sd-123、sd-abcd这类任意后缀),可以修改为匹配所有sd-开头的路径:
# 为 /ppc/photo/sd-* 这类路径强制添加末尾斜杠(模糊匹配) RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ppc/photo/sd-.+$ /$0/ [R=301,L]
然后保留你原有的通用斜杠移除规则:
# 通用移除末尾斜杠规则(不影响上述特定路径) RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} /(.*)/$ RewriteRule ^ /%1 [R=301,L]
逻辑说明
L标记会让匹配到特定规则的请求停止后续规则处理,所以添加了斜杠的特定URL不会触发后面的移除斜杠规则。R=301是永久重定向,适合Adsense这类需要稳定URL的场景,搜索引擎也会更新索引。
内容的提问来源于stack exchange,提问作者amit joshi
相关产品推荐
相关产品推荐

