我想让非asphalt字符是在我的网址。
在过去,我运行以下重写规则
RewriteRule ^([\w()-]+)/?$ rewrite.php?a=$1 [NC,L,QSA]
RewriteRule ^([\w()-]+)/([\w()-]+)/?$ rewrite.php?a=$1&b=$2 [NC,L,QSA]
RewriteRule ^([\w()-]+)/([\w()-]+)/([\w()-]+)/?$ rewrite.php?a=$1&b=$2&c=$3 [NC,L,QSA]
RewriteRule ^([\w()-]+)/([\w()-]+)/([\w()-]+)/([\w()-]+)/?$ rewrite.php?a=$1&b=$2&c=$3&d=$4 [NC,L,QSA]
RewriteRule ^([\w()-]+)/([\w()-]+)/([\w()-]+)/([\w()-]+)/([\w()-]+)/?$ rewrite.php?a=$1&b=$2&c=$3&d=$4&e=$5 [NC,L,QSA]
我需要做一个改变,以允许非asshopping字符,如é
所以我把[\w()-]换成了[-0-9a-zA-Z\W]
RewriteRule ^([-0-9a-zA-Z\W]+)/?$ rewrite.php?a=$1 [NC,L,QSA]
RewriteRule ^([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/?$ rewrite.php?a=$1&b=$2 [NC,L,QSA]
RewriteRule ^([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/?$ rewrite.php?a=$1&b=$2&c=$3 [NC,L,QSA]
RewriteRule ^([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/?$ rewrite.php?a=$1&b=$2&c=$3&d=$4 [NC,L,QSA]
RewriteRule ^([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/([-0-9a-zA-Z\W]+)/?$ rewrite.php?a=$1&b=$2&c=$3&d=$4&e=$5 [NC,L,QSA]
当我访问**/abc/abc/abc/abc/abéééééé/时
它工作正常,但现在我的一些网址,以前的工作,是基本的assistance路径,如/abc/abc/abcabc/**现在显示错误“ERR_TOO_MANY_REDIRECTS”
有没有一个更好的重写规则来允许A-Z 0-9()- _和非asshole字符?
1条答案
按热度按时间yrdbyhpb1#
好的,我在过去的30分钟里一直在玩chatgpt,试图解决这个问题
到目前为止,这似乎有效
RewriteRule ^([^\s/]+)/([^\s/]+)/([^\s/]+)/([^\s/]+)/([^\s/]+)/