Regex htaccess重定向使无限循环-还有其他方法吗?

Regex htaccess重定向使无限循环-还有其他方法吗?,regex,.htaccess,url-redirection,Regex,.htaccess,Url Redirection,我需要将此URL()重定向到此URL() 问题是,它匹配重定向URL上的规则,并形成无限循环 这不起作用: Redirect 301 http://www.example.com/learn http://www.example.com/learn-it .htaccess 301重定向 重定向访问者的最平滑的方法是使用.htaccess重定向。这没有延迟,因为在向浏览器提供页面之前,服务器首先检查.htaccess文件。。。如果它看到这一点,旧页面将不会加载,而是直接将访问者发送到新页面 以

我需要将此URL()重定向到此URL()

问题是,它匹配重定向URL上的规则,并形成无限循环

这不起作用:

Redirect 301 http://www.example.com/learn http://www.example.com/learn-it

.htaccess 301重定向

重定向访问者的最平滑的方法是使用.htaccess重定向。这没有延迟,因为在向浏览器提供页面之前,服务器首先检查.htaccess文件。。。如果它看到这一点,旧页面将不会加载,而是直接将访问者发送到新页面

以下是我使用过的一些.htaccess重定向代码,可能对您有用。无论如何,这不是一个完整的列表,但我花了很多时间才找到如何做到这一点,所以我将省去您的麻烦,并在这里列出它们。哦,请不要给我发电子邮件询问这些是如何工作的,就像我说的,我是在别人的帮助下发现的。。我一点也不知道如何写这些东西,也不为它们的工作方式负责

如果您比我更有技术头脑,并且希望直接从源代码获取信息,请查看:.htaccess文件以获取更详细的信息

有关htaccess重定向的重要注意事项

  • 始终确保以ascii模式上载.htaccess文件,将其作为二进制文件发送会破坏它(通常会使您的服务器非常非常不满意)
  • .htaccess在windows服务器上不起作用
  • 确保您对更改进行了三次检查。清除缓存并查看、测试服务器头,以确保看到的是301(这意味着它是永久的)而不是302(临时的),除非您完全确定您真正的意思是临时的
  • 由于某些操作系统不允许您在“.”之前创建没有内容的文件,因此您可能需要将其另存为something.htaccess,有些操作系统甚至必须将其另存为htaccess.txt,并在上载后对其进行更改
  • 确保您的ftp程序将显示.htaccess文件(确实是并且是免费的)编辑您看不到的内容有点困难;)
  • 仔细检查您是否没有覆盖旧的页面(一些服务器已经为您的自定义404页面等放置了一个)
  • 确保用自己的网站URL替换example.com;-)
移动一页

为您的访客提供快速、轻松、无缝的服务

Redirect 301 /oldpage.html http://www.example.com/newpage.html
移动整个站点的步骤

这将捕获旧站点上的任何流量,并将其重定向到新服务器上的索引页。如果您想将每个页面重定向到它的新位置,那么这个页面并不适合您

Redirect 301 / http://www.example.com/

详细解释。如何重定向页面usin.htaccess。阅读

您应该使用
重定向匹配
,以便使用正则表达式能够匹配准确的URI:

RedirectMatch 301 ^/learn/?$ /learn-it
在测试之前,请确保清除浏览器缓存。

您应该使用/learnit而不是/learn。