【问题标题】:.htaccess : Removing unwanted symbols from the end of the URL.htaccess :从 URL 的末尾删除不需要的符号
【发布时间】:2021-07-14 19:20:25
【问题描述】:
example.com/category/fruits">unwanted
example.com/subcategory/apple">&Fweds

我想删除 fruits 之后不需要的符号* 这样就变成了:

example.com/category/fruits
example.com/subcategory/apple

我试过但没有帮助:

#removing unwanted symbols from the end
RewriteEngine on 
RewriteRule ^(category/(.*)/[\w-]++). /$1 [R=301,L,NC,NE] 


RewriteEngine on 
RewriteRule ^(subcategory/(.*)/[\w-]++). /$1 [R=301,L,NC,NE] 

【问题讨论】:

    标签: regex .htaccess redirect url-rewriting


    【解决方案1】:

    这条规则应该适用于这两种情况:

    RewriteRule ^((?:sub)?category/[\w-]++). /$1 [R=301,L,NC,NE] 
    

    记住在categorysubcategory 之后只有一个/ 在匹配fruits 之前使用所有格量词[\w-]++ 匹配以禁止回溯。

    或者如果category 只是一个占位符:

    RewriteRule ^((?:subcategory|category)/[\w-]++). /$1 [R=301,L,NC,NE] 
    

    【讨论】:

    • 感谢编辑和制作更简单!是的,像往常一样,这又奏效了!!
    • 请看我的最新问题
    • 谢谢!我已经得到了答案,也许我迟到了。
    【解决方案2】:

    根据您显示的尝试/规则,请尝试以下操作。您可以组合规则文件中显示的两个规则。请将这些规则放在您的 htaccess 文件顶部。

    还要确保在测试 URL 之前清除浏览器缓存。

    RewriteEngine on 
    RewriteRule ^(category|subcategory)/([^/]*)/([^&]*)&.* /$1/$2/$3 [R=301,L,NC,NE] 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 2014-08-07
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多