能否在.htaccess中无重定向状态码将/homepage改写为根域名?
用.htaccess实现根域名加载/homepage内容且无301重定向
完全可以通过Apache的mod_rewrite模块实现你的需求,不需要返回301重定向,浏览器地址栏会保持根域名,同时加载原/homepage页面的内容。
具体.htaccess配置
在网站根目录的.htaccess文件中添加以下规则:
RewriteEngine On # 根域名请求内部重写到/homepage RewriteRule ^$ /homepage [L] # (可选)禁止直接访问/homepage,避免内容重复 RewriteRule ^homepage$ / [R=301,L]
规则说明
RewriteEngine On:开启Apache的URL重写功能,这是所有重写规则的前提。RewriteRule ^$ /homepage [L]:匹配访问根域名(空路径)的请求,内部重写到/homepage页面。这个操作是服务器内部的跳转,浏览器地址栏不会变化,服务器返回的状态码是200(正常),不会出现301重定向。- 可选的第二条规则是为了防止用户直接输入/homepage访问,如果需要避免内容重复,可以添加这条,此时访问/homepage会触发301跳转到根域名,但这和你关心的根域名访问场景无关。
关于直接访问根域名的状态码
直接访问https://www.website.com/时,服务器不会返回301状态码,只会返回200状态码,同时输出/homepage页面的内容。
补充说明
这个方案的前提是你的服务器支持mod_rewrite模块(大部分Apache主机默认开启),且网站根目录允许使用.htaccess文件。开发者说无法实现,可能是误以为需要修改网站程序的路由配置,但通过.htaccess的内部重写可以绕过程序层面的限制,直接实现需求。
内容的提问来源于stack exchange,提问作者branco holtslag
相关产品推荐
相关产品推荐

