首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多文件夹重定向

多文件夹重定向
EN

Stack Overflow用户
提问于 2012-11-14 04:46:29
回答 2查看 128关注 0票数 0

我一直在尝试以下的变体,但没有成功:

代码语言:javascript
复制
Redirect permanent /([0-9]+)/([0-9]+)/(.?).html http://example.com/($3)

这似乎没有效果。我也尝试过重写,但也没有得到类似的结果。

我希望所有类似:http://example.com/2002/10/some-long-title.html的链接将浏览器和爬行器重定向到:http://example.com/some-long-title

当我将其保存到我的服务器,并访问嵌套文件夹的链接时,它只返回一个404,地址栏中的原始URL保持不变。我想要的是地址栏中的新位置(当然还有内容)。

EN

回答 2

Stack Overflow用户

发布于 2012-11-14 06:23:39

我猜这或多或少就是你想要的:

代码语言:javascript
复制
RewriteEngine On
ReriteRule ^/([0-9]+)/([0-9]+)/(.?)\.html$ http://example.com/$3 [L,R=301]

这可以在中央apache配置中使用。如果因为不能访问.htaccess配置而不得不使用apache文件,那么语法稍有不同。

票数 0
EN

Stack Overflow用户

发布于 2012-11-14 07:32:22

使用mod_alias时,您需要RedirectMatch,而不是常规的Redirect指令:

代码语言:javascript
复制
RedirectMatch permanent ^/([0-9]+)/([0-9]+)/(.+)\.html$ http://example.com/$3

您的最后一个分组需要是(.+),这意味着包含1个或更多字符的任何内容,您之前拥有的,(.?)匹配任何包含0或1个字符的内容。此外,最后一个反向引用不需要括号。

使用mod_rewrite,它看起来类似于:

代码语言:javascript
复制
RewriteEngine On
RewriteRule ^/([0-9]+)/([0-9]+)/(.+)\.html$ http://example.com/$3 [L,R=301]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13368504

复制
相关文章

相似问题

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