Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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 301重定向到完整路径_Regex_.htaccess_Url Rewriting - Fatal编程技术网

Regex 301重定向到完整路径

Regex 301重定向到完整路径,regex,.htaccess,url-rewriting,Regex,.htaccess,Url Rewriting,我有很多不正确的反向链接,这些链接指向: 而正确的路径是 有数百个这样的链接…我怎么能从错误的链接重定向到正确的链接 提前非常感谢您您可以尝试以下代码: RewriteBase / RewriteRule ^tags/([^/]+)$ /tags/$1/ [L,R=301] RewriteBase/告诉apache您的URI以/开头。如果站点位于子文件夹中,则应改为编写RewriteBase/subfolder/ ^tags/([^/]+)$:您搜索的URI以tags/开头,后跟[^/]

我有很多不正确的反向链接,这些链接指向:

而正确的路径是

有数百个这样的链接…我怎么能从错误的链接重定向到正确的链接

提前非常感谢您

您可以尝试以下代码:

RewriteBase /
RewriteRule ^tags/([^/]+)$ /tags/$1/ [L,R=301]
  • RewriteBase/
    告诉apache您的URI以
    /
    开头。如果站点位于子文件夹中,则应改为编写
    RewriteBase/subfolder/
  • ^tags/([^/]+)$
    :您搜索的URI以
    tags/
    开头,后跟
    [^/]+
    ,表示除
    /
    以外的任何字符。它周围的
    ()
    用于捕获它并在重定向中使用它。因此,我们捕获URI中
    标记/../
    之间没有
    /
    的任何字符。(
    ^
    标记字符串的开始,而
    $
    标记字符串的结束)
  • /tags/$1/
    是重定向<代码>$1表示前一个捕获的元素(介于
    ()
    之间的元素)
  • [L,R=301]
    向apache指示它应该停止处理其他规则,并使用301头代码重定向

我尝试过不同的方法阅读其他关于这个主题的帖子,试图找到逻辑,但没有一个有效,我的知识非常有限。如果你能帮助我,我会非常感激,如果你能解释解决方案,我可以学到更多。完美的工作可以解释,我可以学习,谢谢!我补充了一些解释;)非常感谢您的解释,也非常感谢您理解更好的正则表达式