htaccess重定向令人困惑

时间:2015-06-12 02:16:07

标签: .htaccess mod-rewrite

我有这样的链接:

http://www.example.com/blog/something/article-name/

我想将其重新写入:

http://www.example.com/article-name/

“某事”是可变的,所以我不能只使用RedirectMatch 301 ^/blog/something/(.*)$ http://www.example.com/$1

我搜索了我能找到的各种htaccess重定向的文章,没有应用到我的scenerio,即1个固定文件夹(博客)和1个变量文件夹(某些东西 - 可能是任何东西)。我试过这个,它也不起作用:

RedirectMatch ^/blog/(.*)/(.*)$ http://www.example.com/$2

....只是给了我同样的东西减去博客。

请帮忙!

1 个答案:

答案 0 :(得分:1)

您的问题有点不清楚,因为您指的是重写和重定向。在重写的情况下,巴拿马杰克是对的。如果您正在寻找用于重写的较短URI,则服务器无法简单地猜测something部分。

但是,如果您尝试重定向(例如,您已更改了CMS),则可以使用以下内容。下面的mod_rewrite规则会将/blog/variable/article重定向到/article并进行302临时重定向。

RewriteEngine On
RewriteRule ^blog/([^/]+)/([^/]+)/?$ /$2 [R=302,L]

如果您希望将重定向设为永久性并通过浏览器进行缓存,请将302更改为301