我花了数小时试图把这个规则改正,我真的很努力。我离得很近,但我做不到。任何帮助都超过了欢迎...谢谢#
尝试删除URL中不需要的段。从这个:
https://example.com/index.php/module/action/param1/static/PFBC/js/jquery/rss/static/css/js/jquery/smoothness/templates/themes/datelove/img/icon/xml/sitemap/user/help/rss/legal/rss/comment-picture
对此:
https://example.com/comment-picture
分段的名称和数量都是随机的,这是我到目前为止的规则
RewriteEngine on
RewriteCond %{REQUEST_URI} (\^|~|`|<|>|,|%|\\|\{|\}|\[|\]|\|)/ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
几乎可以运行,但是我需要保留最后一段,该规则给出了新的URL
The new url is https://example.com/
Test are stopped, a redirect will be made with status code 301
离开最后一段需要什么?
我越来越近
RewriteCond %{REQUEST_URI} (^https:.*?com|\/[\w+-]+$) ~gm [NC]
RewriteRule ^https:.*?com|\/(.*)[\w+-]+$(.*) $2 [R=301,L]
给我
https://example.com/index.php
因此选择了错误的URL部分,但距离越来越近!
答案 0 :(得分:2)
这是正确的答案,我希望可以为此功劳,但我不能
RewriteEngine On
RewriteRule ^index\.php/module/action/param1/.*/(.*+)$ /$1 [L,R=301]
这是一个属的作品,在遇到他创建的非常好的工具后,我向他征求了意见。 RewriteRule_Generator
答案 1 :(得分:1)
下面的代码将给出您要查找的2个字符串。
(^https:.*?com|\/[\w+-]+$)