Redirect 一行中有多个301重定向

Redirect 一行中有多个301重定向,redirect,http-status-code-301,Redirect,Http Status Code 301,对于经常处理这些问题的人来说,这可能很容易,但我不确定需要使用什么样的代码来实现我想要的。我知道如何将单个URL重定向到其他URL,但当涉及到同时重定向多个URL时,我无法做到这一点 基本上,当我建立网站时,我的网站结构设置有点糟糕。我有一堆URL,名为: crafting-alchest-level-1-10.php 都在根目录中,其中Alchesman-level-1-10是页面名,crafting是站点部分。我有大约50个这样的URL,我想把它们都放在一个/crafting目录下,用cra

对于经常处理这些问题的人来说,这可能很容易,但我不确定需要使用什么样的代码来实现我想要的。我知道如何将单个URL重定向到其他URL,但当涉及到同时重定向多个URL时,我无法做到这一点

基本上,当我建立网站时,我的网站结构设置有点糟糕。我有一堆URL,名为:

crafting-alchest-level-1-10.php

都在根目录中,其中Alchesman-level-1-10是页面名,crafting是站点部分。我有大约50个这样的URL,我想把它们都放在一个/crafting目录下,用crafting-cut文件名

我可以单独做这件事,但必须有一种方法可以用一行完成所有的事情。有吗


这些URL重定向也需要与.php之后的任何参数兼容。

在.htaccess中使用mod_rewrite

RewriteEngine On
RewriteRule ^(.*)/(.*)/(.*)$ $1-$2-$3.php
有关更多信息(您需要对其进行一些自定义):

编辑
这将把one/two/three重写为one-two-three.php。

您在什么类型的服务器上运行此功能?我认为这不会有任何区别。但它似乎是某种Linux。我不知道在哪里可以找到,因为它是共享主机。PHP信息只是说Linux,并没有列出哪一种。它确实有区别。htaccess文件在IIS上不起作用。至少不是直接的。很有趣。我不知道你可以在htaccess中使用这样的变量。我讨厌尝试使用正则表达式,但我认为解决方案会涉及很多这方面。我将在明天讨论这个问题,看看我是否能找出实现我的结果的组合。今晚玩它有点晚了。你也可以在那里硬编码规则。这取决于你愿意多想。如果这是一个充分的答案,请接受它。谢谢。如果我能让它工作,我会接受的。:)你喜欢这个工作吗?RewriteEngine On RewriteRule^(手工制作)-(.*)$$1/$2.php我不确定在不将其放在实时服务器上并冒着把事情搞砸的风险的情况下测试它的最佳方法。这些评论似乎讨厌换行(手工制作)并不是真的必要。您可以只重写规则^crafting-(.*)$/crafting/$1.php。但是,是的,你已经记下了基本的想法。在看到你的最新评论之前,我刚刚做了并测试了这个:RewriteRule^(testing)-(.*)$[R=301,L]这似乎有效。当我尝试上次发布的代码时,它将我的域的根目录放入重定向,并以.php.php结尾!我会认为你的答案是正确的,因为它足以给我一个解决方案。我很好奇没有2美元你的工作原理。