【问题标题】:Htaccess redirects not working from sub-subfolder to rootfileHtaccess 重定向无法从子文件夹到根文件
【发布时间】:2019-03-03 17:09:54
【问题描述】:

我正在尝试将一些页面从旧网站重定向到新网站。重定向如下:

RewriteRule ^/?de-tafels/(.*)$ /meubels/woonkamer/tafels$1 [R,L]

正在工作,但从子/子文件夹重定向到根目录中的文件不起作用:

RewriteRule ^/?fotogalerij/hekwerken/(.*)$ /404$1 [R,L]

我应该在 404$1 后面添加一些东西吗?

编辑:

RewriteRule ^/?blog/woonbeurs-a-dam-2010/(.*)$ /404$1 [R,L]

通过这一行,我想重定向 http://example.com/blog/woonbeurs-a-dam-2010/http://example.com/404,但它会将我重定向到 http://example.com/404woonbeurs-a-dam-2010/

谢谢,

迈克

【问题讨论】:

  • /404$1 -> $1 应该是查询参数吗?如果是这样,请改用QSA 标志。无论如何,请提供您希望触发这些规则的 URI 示例。
  • 对不起,我刚刚编辑了我的帖子。
  • 我不确定为什么会发生这种情况(这看起来很奇怪),但是捕捉斜杠后面的内容是否有意义(绑定到$1)?如果你只是重定向到/404 怎么办?
  • 这给了我完全相同的结果:(
  • 您的重定向规则是在虚拟主机配置文件中还是在 .htaccess 文件中?如果是前者,您是否正在从您的网络服务器重新启动/重新加载配置? (以防万一)

标签: php .htaccess redirect http-status-code-404


【解决方案1】:

试试这个:

RewriteEngine On 
RewriteRule ^/?blog/woonbeurs-a-dam-2010/(.*)?$ /404$1 [R,L]

编辑:

从您提供的屏幕截图中,我可以看到您正在添加 samw 路径的重写规则,该规则覆盖同一路径的其余重写。

从你的 htaccess 中删除这一行。

RewriteRule ^/?blog/(.*)?$ /404$1 [R,L]

【讨论】:

  • 还是没有运气。我在帖子中添加了我的 htaccess 的屏幕截图。
  • 好的,非常感谢!这是工作。我不知道重定向的顺序很重要。现在想想,确实有道理。我现在将重新安排一切。谢谢
猜你喜欢
  • 2015-10-06
  • 1970-01-01
  • 1970-01-01
  • 2021-07-09
  • 1970-01-01
  • 2017-12-05
  • 2014-06-01
  • 1970-01-01
相关资源
最近更新 更多