【问题标题】:I need to do specific 301s as well as wild card/catch all. How do I do it?我需要做特定的 301 以及通配符/全部捕获。我该怎么做?
【发布时间】:2012-09-11 06:23:30
【问题描述】:

关于.htaccess:

我有一个网站要关闭。它有数以千计的 url,最动态的,不能很好地翻译到我的新网站,因为结构完全不同。

我的 .htaccess 有大约 200 个(最重要的)URL 301(手动)到我的新站点。我想遵循一个规则,将除我手动执行的 URL 之外的所有其他 URL 发送到我的新站点的登录页面。我无法让任何工作,因为我尝试过的包罗万象忽略了手册 301s。

谁能帮我制定一个规则?

最好的问候, SK

【问题讨论】:

  • 如果您不粘贴重写规则(.htaccess 文件),当然没有人可以提供帮助。
  • 你当然是对的。这是目前的样子:Options +FollowSymLinks RewriteEngine on RewriteRule (.*) example.com/$1 [r=301,L] Redirect 301 /this.html example.com/something/somethingelse/that.html 在第一个之后有大量类似的 301。
  • 抱歉,无法正常显示。反正 301 行的第二个 url 前面有一个 http:// 和一个 www。

标签: .htaccess wildcard http-status-code-301


【解决方案1】:

我不确定,您的其他 cmets 并不能真正说明您到目前为止所拥有的内容。我想如果按这个顺序排列,这对我来说可能是个好主意:

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule /this.html http://www.example.com/something/somethingelse/that.html [r=301,L] 
[...299 more static rules...]
RewriteRule (.*) http://www.example.com/$1 [r=301,L] 

这应该确实有效。 如果不是,通常最好打开重写日志并提高日志级别。 ('RewriteLog' 和 'RewriteLogLevel' 命令)。这会将大量信息放入单独的日志文件中。通常它有助于理解发生了什么。

而且,您可以使用 RewriteMap 命令来节省时间,而不是编写 300 条静态规则。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 2018-01-16
    • 2012-11-15
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多