在.htaccess imposibla中使用空格,非拉丁字符等? 例如,如何解决这个问题:
RewriteRule ^/(.*)/new user/(.*)$ /page/?id=$1 [QSA,L,E]
这个决定不是我:
... /new_user/ ...
由于
答案 0 :(得分:1)
你必须使用百分比编码来转义URI的保留字符及其各自的字符代码,例如: G。 %20
为空间。
答案 1 :(得分:0)
确定..在网址中允许的标志: http://www.blooberry.com/indexdot/html/topics/urlencoding.htm 并在htaccess:
RewriteRule ^(([0-9]+)-)?new_user(-([0-9]+))?/?$ new_user.php?page=$2&id=$4 [L]
更改www.blabla.com/10-new_user-5
到www.blabla.com/new_user.php?page=10&id=5
答案 2 :(得分:0)
在您的规则操作之前,URL会自动解码,因此您可以针对文字字符进行测试,例如: français\ español
(请注意,除非引用模式,否则需要使用反斜杠转义文字空格。)
但是,根据您的示例,我认为您实际关注的是能够执行以下操作:
RewriteRule ^([^/]+)/[^/]+/.*$ /page/?id=$1 [QSA,L]
# ^---^
# it doesn't matter what the user name is, as long as it
# doesn't contain a slash