如何用.htaccess将大学用户目录~xyz123重定向至无该路径的新URL
可行的重定向方案
直接在你的~xyz123目录下创建.htaccess文件,写入以下规则即可实现需求:
RewriteEngine On RewriteBase /~xyz123/ # 永久重定向所有子路径到新域名,保留原有结构 RewriteRule ^(.*)$ https://mynewurl.com/$1 [R=301,L]
规则说明:
RewriteBase /~xyz123/:指定当前重写规则的基准路径,确保后续规则只匹配你目录下的内容,不会包含前缀/~xyz123/。RewriteRule ^(.*)$ https://mynewurl.com/$1 [R=301,L]:捕获当前目录下的所有子路径(^(.*)$匹配从基准路径后开始的所有内容),然后将请求重定向到新域名加上捕获到的子路径,完美保留原有目录结构,不会把~xyz123带到新URL里。R=301表示永久重定向,适合长期迁移场景;如果只是临时测试,可以改成R=302(临时重定向)。L表示这是最后一条规则,匹配后不再执行后续规则。
备选方案(如果服务器不支持mod_rewrite):
如果你的大学服务器禁用了mod_rewrite,只能针对单个页面做重定向:在每个页面的<head>标签内添加以下代码,替换subpath/your-page.html为当前页面的实际子路径:
<meta http-equiv="refresh" content="0; url=https://mynewurl.com/subpath/your-page.html">
这种方法效率低且繁琐,仅适合页面数量极少的情况,优先推荐.htaccess方案。
内容的提问来源于stack exchange,提问作者emendelson
相关产品推荐
相关产品推荐

