我做了一些规则,例如重定向匹配,将旧网址动态指向新位置, 但是,任何时候我在任何URL中使用URL编码字符,重定向都不起作用。 以下是这些网址的示例:
range
所以我需要删除以下字符:
的%E1%8B%A8%E1%89%A4%E1%89%B5-%E1%88%B5%E1%88%AB
上面的那些字符等于这个阿姆哈拉字:የቤት-ስራ
我需要的是一个规则,从网址中删除非alpha-数字字符,但保留所有特殊字符,如" - " " _"只是URL编码字符。
我试过了:
www.example.com/ebc-drama-yebet-sira/yebet-sira-%E1%8B%A8%E1%89%A4%E1%89%B5-%E1%88%B5%E1%88%AB-drama-part-1-video_80c33bc56.html
和:
RewriteRule ^/?(.*)>$ /$1 [L,R=301]
Htaccess文件:
RewriteRule (.*)[^a-zA-Z0-9](.*) $1$2 [N]
感谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以在站点根目录中使用这些规则.htaccess:
RewriteEngine On
# skip all css/js/images from rewrite rules below
RewriteRule \.(?:jpe?g|gif|bmp|png|ico|tiff|css|js)$ - [L,NC]
RewriteCond %{REQUEST_URI} !^/(admin|articles?|user|tags|embed|playlist|uploads)(/.*)?$ [NC]
RewriteRule ^(.*)[^\w/.-]+(.*\.html)$ $1$2 [DPI,N,E=SP:1]
RewriteCond %{ENV:SP} =1
RewriteRule ^[\w.-]*$ /$0 [L,R=302,NE]
# comment out RedirectMatch 301 rule
# remaining RewriteRule appear here
这将通过删除所有特殊字符将/ebc-drama-yebet-sira/yebet-sira-%E1%8B%A8%E1%89%A4%E1%89%B5-%E1%88%B5%E1%88%AB-drama-part-1-video_80c33bc56.html
重定向到/ebc-drama-yebet-sirayebet-sira---drama-part-1-video_80c33bc56.html
。