.htaccess 重写规则,为非asshalt字符,连字符,下划线和括号?

qacovj5a  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(64)

我想让非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字符?

yrdbyhpb

yrdbyhpb1#

好的,我在过去的30分钟里一直在玩chatgpt,试图解决这个问题
到目前为止,这似乎有效
RewriteRule ^([^\s/]+)/([^\s/]+)/([^\s/]+)/([^\s/]+)/([^\s/]+)/

相关问题