【问题标题】:htaccess re-direct help - /dir1 but dont redirect /dir1/{anything}htaccess 重定向帮助 - /dir1 但不重定向 /dir1/{anything}
【发布时间】:2016-05-23 10:54:13
【问题描述】:

我已经非常努力地让它工作了,但是在拔掉我的头发并尝试了很多重定向规则和其他东西之后,我停了下来,请帮忙谢谢!

基本上,我正在尝试重定向以下 URL: http://example.com/sub1http://example.com/newsub1

(注意:我不得不从下面的链接中删除“http://”,因为 Stackoverflow 不允许我发布这么多链接!!)

但是当请求 /sub1 的子目录时,我需要它仍然可以访问并且不更改 URL - 所以我试图保留它:

example.com/sub1/sub2

我的重写规则不断重写example.com/newsub1/sub2

我遇到的问题是,在上面的示例中 /sub2 需要是一个通配符 - 它不是一个固定的 url,而是动态的,我需要它的范围是任何东西。

总结一下:

1) example.com/sub1 -> 重定向 -> example.com/newsub1

2) example.com/sub1/{could-be-anything} -> 没有重定向/重写 -> example.com/sub1/{could-be-anything}

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    你能看看这是否符合你的要求吗?我在这里对其进行了测试并且它有效,但不确定文件结构的其余部分与斜杠和默认文件有关,也不知道是否应该重定向 http://example.com/sub1/helloworld.php 之类的内容:

    RewriteEngine On
    RedirectMatch 301 ^/sub1/?$ /newsub1$1
    

    如果需要可以调整,让我知道。

    编辑:这种方法在最后留下了一个烦人的——尽管无害的——双斜线。想多了,我觉得这样更好:

    RewriteEngine On
    RewriteRule folder1/?$ /folder2 [R=301,L]
    

    【讨论】:

    • 不错!谢谢 - 这对我有用RewriteEngine On RedirectMatch 301 ^/sub1/?$ /newsub1$1 这成功地重定向example.com/sub1 -> example.com/sub1 惠斯特仍然保持对example.com/sub1/other 的访问 - 这正是我需要的 - 干得好!我有效地试图摆脱对 WordPress (/sub1) 中特定存档视图的访问权限,同时仍保持对单个帖子 (/sub1/post-title) 的访问权限 - 这效果很好 - 顺便说一下,第二段代码没有不要为我做,但你打的第一枪 - 谢谢你,伙计;)
    • 我注意到我上面的评论有点错误,我现在不能编辑它;(只是为了澄清,如果其他人将来读到这个,RewriteEngine On RedirectMatch 301 ^/sub1/?$ /newsub1$1 成功重定向 example.com/sub1 -> example.com/sub2 同时仍保持对 example.com/sub1/{anystring} 的访问权限
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    相关资源
    最近更新 更多