Hex 发表于 2017-2-8 12:25:23

stalkerru 发表于 2017-2-7 21:10
url rewrite的log怎么打开?在apache的httpd.conf里吗

是的,你可以参考这个 http://httpd.apache.org/docs/current/mod/mod_rewrite.html 手册。

stalkerru 发表于 2017-2-10 15:50:52

Hex 发表于 2017-2-8 12:25
是的,你可以参考这个 http://httpd.apache.org/docs/current/mod/mod_rewrite.html 手册。

安全的“安”字:
mod_rewrite.c(477): 192.168.1.9 - - add path info postfix: D:/xampp/htdocs/attachment -> D:/xampp/htdocs/attachment/download/\xe5\xae\x89
mod_rewrite.c(477): 192.168.1.9 - - strip per-dir prefix: D:/xampp/htdocs/attachment/download/\xe5\xae\x89 -> attachment/download/\xe5\xae\x89
mod_rewrite.c(477): 192.168.1.9 - - applying pattern '^(.*)$' to uri 'attachment/download/\xe5\xae\x89'
mod_rewrite.c(477): 192.168.1.9 - - rewrite 'attachment/download/\xe5\xae\x89' -> 'index.php?/attachment/download/\xe5\xae\x89'
mod_rewrite.c(477): 192.168.1.9 - - split uri=index.php?/attachment/download/\xe5\xae\x89 -> uri=index.php, args=/attachment/download/\xe5\xae\x89
mod_rewrite.c(477): 192.168.1.9 - - add per-dir prefix: index.php -> D:/xampp/htdocs/index.php
mod_rewrite.c(477): 192.168.1.9 - - trying to replace prefix D:/xampp/htdocs/ with /
mod_rewrite.c(477): 192.168.1.9 - - internal redirect with /index.php
mod_rewrite.c(477): 192.168.1.9 - - strip per-dir prefix: D:/xampp/htdocs/index.php -> index.php
mod_rewrite.c(477): 192.168.1.9 - - applying pattern '^(.*)$' to uri 'index.php'
mod_rewrite.c(477): 192.168.1.9 - - pass through D:/xampp/htdocs/index.php

安全的“全”字:
mod_rewrite.c(477): 192.168.1.9 - - add path info postfix: D:/xampp/htdocs/attachment -> D:/xampp/htdocs/attachment/download/\xe5\x85\xa8
mod_rewrite.c(477): 192.168.1.9 - - strip per-dir prefix: D:/xampp/htdocs/attachment/download/\xe5\x85\xa8 -> attachment/download/\xe5\x85\xa8
mod_rewrite.c(477): 192.168.1.9 - - applying pattern '^(.*)$' to uri 'attachment/download/\xe5\x85\xa8'
mod_rewrite.c(477): 192.168.1.9 - - pass through D:/xampp/htdocs/attachment



stalkerru 发表于 2017-2-10 15:57:22

accesslog里的情况也是

安全的“安”字:

192.168.1.9 - - "GET /attachment/download/%E5%AE%89 HTTP/1.1" 200


安全的“全”字:

192.168.1.9 - - "GET /attachment/download/%E5%85%A8 HTTP/1.1" 404

Hex 发表于 2017-2-10 17:12:23

stalkerru 发表于 2017-2-10 15:57
accesslog里的情况也是

安全的“安”字:

还是 URL 没有编码的问题,你把中文先做一个 urlencode() 然后再拼到 URL 中,不要做 base64 这都不是标准做法,URL 除了英文以外,其他字符必须编码,这是协议规定。

stalkerru 发表于 2017-2-12 01:15:34

Hex 发表于 2017-2-10 17:12
还是 URL 没有编码的问题,你把中文先做一个 urlencode() 然后再拼到 URL 中,不要做 base64 这都不是标准 ...

试过了   提前用php编码跟apache自动编码生成的链接是一样的

Hex 发表于 2017-2-14 10:35:17

stalkerru 发表于 2017-2-12 01:15
试过了   提前用php编码跟apache自动编码生成的链接是一样的

那就不建议把中文放到 URL 中了,我一般都是把中文放到参数中的,没有任何问题。你这个问题我也说不好怎么解决。

gqh49868 发表于 2017-4-5 15:42:25

stalkerru 发表于 2017-2-7 14:02
我现在很无奈地用base64对中文进行编码后传递了   但还是很想知道这是什么原因导致的
...

楼主找到原因了吗,本人也遇到同样的问题

brucelian 发表于 2018-1-26 19:22:46

受楼主启发,我把.htaccess文件里的路由规则改为 RewriteRule ^([\s\S]*)$ index.php/$1 即可!我是升级了apache版本后才出现这个问题

brucelian 发表于 2018-1-26 19:24:33

gqh49868 发表于 2017-4-5 15:42
**** 作者被禁止或删除 内容自动屏蔽 ****

18楼
页: 1 [2]
查看完整版本: 包含某些中文字符的url会忽略.htaccess里的rewrite规则导致404