如何通过.htaccess实现指定URL重定向及四项规则配置
.htaccess 重定向配置方案
以下是满足你四项需求的完整.htaccess配置代码,规则顺序至关重要,请严格按如下顺序放置:
# 开启重写引擎 RewriteEngine On # 1. WWW域名重定向至非WWW + HTTP转HTTPS RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] # 2. 根目录请求重定向至folder路径 RewriteRule ^$ folder/ [R=301,L] # 3. 为keyword追加.php后缀(仅对应文件存在时生效) RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^folder/([^/]+)$ folder/$1.php [L]
规则说明:
- WWW转非WWW + HTTP转HTTPS:先处理带www的域名跳转,再强制所有HTTP请求转HTTPS。
R=301是永久重定向,L表示执行完这条规则后停止后续匹配。 - 根目录重定向:直接匹配空路径(网站根目录),跳转到指定的
folder/路径。 - 追加.php后缀:仅当请求的
keyword对应的keyword.php文件实际存在时,才会内部重写路径,不会修改浏览器地址栏,避免出现无效跳转或404错误。
注意事项:
- 确认服务器已开启
mod_rewrite模块。 - 测试阶段可将
R=301改为R=302(临时重定向),验证规则生效后再改回301,防止浏览器缓存旧规则导致测试异常。 - 确保根目录下的
folder文件夹存在且有正常访问权限。
内容的提问来源于stack exchange,提问作者lbdv
相关产品推荐
相关产品推荐

