尝试在这里做一些简单的事情,但遇到了很大的困难
.htaccess
Redirect 301 /foo-bar /foobar
这在 OSX 上运行良好,但 CentOS 抱怨我没有使用完整的 URL。
CentOS 想要
Redirect 301 /foo-bar http://example.com/foobar
我不想为每个 URL 指定完整的主机名。
OSX 和 CentOS 都运行 Apache2.2.x
有没有什么方法可以实现这个呢?
更新:
我试过了RewriteRule
,但似乎没用
RewriteEngine On
RewriteRule ^/foo-bar$ /foobar [R=301,L]
匹配还没有完成,现在我就收到 404 错误
答案1
显然 apache 不支持在目标中使用相对 URL,Redirect
直到2.2.6
我的 CentOS 正在运行2.2.3
,所以这就是问题所在
我尝试使用RewriteRule
也是错误的。以下内容将按预期工作
RewriteEngine On
RewriteRule ^foo-bar$ /foobar [R=301,L]
请注意,/
我的原始问题已删除
长话短说,Redirect
如果你的 apache 是,你可以使用相对 URL>= 2.2.6
Redirect 301 /foo-bar /foobar
RewriteRule
如果你还在使用旧版本,可以使用
RewriteEngine On
RewriteRule ^foo-bar$ /foobar [R=301,L]