首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Htaccess重定向单个文件301

问Htaccess重定向单个文件301
EN

Stack Overflow用户
提问于 2016-10-25 09:20:38
回答 1查看 1.2K关注 0票数 1

我已经更改了文件名,我想要创建一个永久重定向(301)。

我的.htaccess文件位于子目录(http://example.com/js)中。

我想重定向http://example.com/js/oldfilename.js

转到http://example.com/js/newfilename.js

使用此代码,重定向工作:

代码语言:javascript
复制
RewriteEngine On
RewriteRule ^oldfilename.js$ newfilename.js [L]

但是URL没有重写。当我将[L]更改为[L,R=301]时,URL会被重写,但会被破坏。重写的URL似乎是http主机(http://example.com),后面是文件系统中文件的绝对路径。

EN

回答 1

Stack Overflow用户

发布于 2016-10-25 09:22:14

您需要执行外部重定向,并指定重写的基础:

代码语言:javascript
复制
RewriteEngine On
RewriteBase "/path/to/files/"
RewriteRule ^oldfilename\.js$ newfilename.js [L,R=301]

但是,在http主机配置中简单地定义一个Alias要容易得多:

代码语言:javascript
复制
Alias /path/to/oldfilename.js /path/to/newfilename.js

通常,您应该总是倾向于将这样的规则放在真正的主机配置中,而不是使用.htaccess样式的文件。众所周知,这些文件容易出错,很难调试,而且它们确实减慢了http服务器的运行速度,通常是毫无意义的。它们只适用于无法访问主机配置的情况(阅读:非常便宜的托管提供程序),或者如果应用程序需要编写自己的重写规则(无论如何,这是一个安全噩梦.)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40236096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档