Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 即使键入错误也重定向到页面_Regex_Apache_Url Redirection - Fatal编程技术网

Regex 即使键入错误也重定向到页面

Regex 即使键入错误也重定向到页面,regex,apache,url-redirection,Regex,Apache,Url Redirection,我正在寻找一种解决方案,当URL路径中缺少一个字符时允许重定向 下面的例子很简单,但在我的例子中,URL路径较长,有时编写起来比较复杂。我想找到一个解决方案来处理输入错误,我的意思是当它们发生时仍然重定向 示例: 重定向到 重定向到 重定向到 重定向到 我知道apache重定向,并且已经尝试过类似的方法: RewriteRule ^helo$ hello.php RewriteRule ^hell$ hello.php RewriteRul

我正在寻找一种解决方案,当URL路径中缺少一个字符时允许重定向

下面的例子很简单,但在我的例子中,URL路径较长,有时编写起来比较复杂。我想找到一个解决方案来处理输入错误,我的意思是当它们发生时仍然重定向

示例:

  • 重定向到
  • 重定向到
  • 重定向到
  • 重定向到
我知道apache重定向,并且已经尝试过类似的方法:

RewriteRule ^helo$              hello.php
RewriteRule ^hell$              hello.php
RewriteRule ^ello$              hello.php
RewriteRule ^hllo$              hello.php
RewriteRule ^hello$             hello.php
但是我想要一些自动的,对于我没有注意到的情况,例如/hell

最好是在apache中使用regexp,但我在apache htaccess管理方面做得很差

我想我也可以在404页面中使用一些JS代码实现这一点,如果页面url与列表中的元素相差一个字符,则可以重定向


那你觉得呢?还有比可怕的JS重定向更简单的解决方案吗?

您有一组有限的已知URL可供服务吗?然后,当你点击404时,你可以用这些计算出最接近的值,返回一个阈值以避免荒谬的匹配?

请注意,在这条路径上,歧义正在等待发生。以及当有人在其中编程时,继续支持这些“重定向”指向同一事物的负担。我严重怀疑这种猜测是否值得。要得到任何答案,请定义“一两个字符是错误的”。丢失的不同?放错地方了(多少钱)?额外的字符呢?@ivan_pozdeev:我会编辑帖子来回答你的问题:)@anubhava:hello不是有效的文件名,php文件是目标文件,将显示一个页面。我正在使用ApacheHTAccess(RewriteRule^hello$hello.php)进行重定向,无法使用正则表达式更正拼写。但是使用正则表达式你可以处理已知的拼写错误谢谢编辑距离上的链接:)我认为当404被点击时,除了“脏”重定向之外,还有另一种解决方案。就像htaccess里面的东西。(我注意到在htacess文件中使用了一些regexp)