首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向到末尾为"/“的路径

重定向到末尾为"/“的路径
EN

Stack Overflow用户
提问于 2014-10-02 15:00:35
回答 1查看 19关注 0票数 1

我从/something重定向到/东西/在我的.htaccess文件中设置了这个设置:

代码语言:javascript
复制
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*[^/])$ http://%{HTTP_HOST}/$1/ [L,R=301,QSA]

对于以123.html结尾的页面,我想添加相同的内容

代码语言:javascript
复制
RewriteCond %{REQUEST_URI} [0-9]+\.html$
RewriteRule ^(.*[0-9]+\.html[^/])$ http://%{HTTP_HOST}/$1/ [L,R=301,QSA]

不管用..。但!

代码语言:javascript
复制
RewriteCond %{REQUEST_URI} [0-9]+\.html$
RewriteRule ^(.*[0-9]+\.htm.*[^/])$ http://%{HTTP_HOST}/$1/ [L,R=301,QSA]

这个变体很好用!为什么阿帕奇不喜欢“我”?谁知道呢?

Apache版本: 2.4.9

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-02 15:04:53

你试图不工作的规则是:

代码语言:javascript
复制
RewriteRule ^(.*[0-9]+\.html[^/])$ http://%{HTTP_HOST}/$1/ [L,R=301,QSA]

这不起作用,因为regex是不正确的,因为您的请求URI以.html结尾,并且在.html之后什么都没有。因此,\.html[^/]不匹配URI,但\.htm.*[^/]确实匹配,因为最后一次[^/]匹配字母l

正确的规则是:

代码语言:javascript
复制
RewriteRule ^(.*[0-9]+\.html)$ http://%{HTTP_HOST}/$1/ [L,R=301]

PS:您也不需要使用RewriteCond

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

https://stackoverflow.com/questions/26163701

复制
相关文章

相似问题

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