这是我在htaccess中的代码:
RewriteCond %{THE_REQUEST} \s/user/\?user=(.*)\s [NC]
RewriteRule ^ /user/%1? [R=301,L]
RewriteRule ^user/(.*)$ /user/?user=$1 [L]
我想要它做的是获取网址/user/?user=username
并将其重写为/user/username
我已成功将其重写为/user/username
但是它给了我500错误。如果有人能告诉我为什么我会非常感激。
谢谢!
编辑: 500错误似乎是因为它正在使用此规则创建重定向循环。我不确定如何只取最后一部分并将其作为查询字符串附加到URL。
答案 0 :(得分:1)
请更改此行:
cat.text" <--
cat.doc"
dog.txt"
dog.text" <--
frog.txt"
dog.text" <--
dog. text" <--
cat. text" <--
cat. text " <--
用这个:
RewriteRule ^user/(.*)$ /user/?user=$1 [L]
您应该只匹配字母,否则上述条件RewriteRule ^user/[a-zA-Z]+$ /user/?user=$1 [L]
对RewriteCond %{THE_REQUEST} \s/user/\?user=(.*)\s [NC]