84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
書き換え後にスラッシュが抜けている理由がわかりません
以下は go.php コードです
書き換えルールは以下の通りです
学习是最好的投资!
参考 Apache が複数のスラッシュを削除するのはなぜですか? @Pekka 웃 さんは、URI 内の複数の隣接する /不符合RFC标准,@Pekka 웃 猜测Apache被设计为将多个相邻的/ が 1 つにマージされていることを指摘しました。
/
同様に、調べてみると、nginxにはmerge_slashesという設定があり、リクエストURI内の隣接する2つ以上のスラッシュを1つにマージする機能を有効または無効にするために使用されますデフォルトの設定はTurnです。 に。 Apache と nginx はデフォルトで URI 内の複数の隣接する / を処理する際に一貫した動作をしており、どちらも RFC 標準に従っていることがわかります。
http://localhost/go.php?url=http://www.163.com/ の // については、1 つにマージされていませんが、 http://localhost/go/http://www.163.com/ の // は 1 つにマージされており、前者は RFC 標準に準拠していますが、後者は準拠していません。
//
私は RFC 標準を深く理解していないため、上記の記述は厳密さが不十分である可能性があります。間違いがある場合は、ご指摘ください。しかし、この程度の理解ができれば、ほぼ十分だと思います。書き換えルールやコードの変更方法については、自分でググってください。
http://php.net/manual/zh/function.urldecode.php
Apache がパス内の // 化简成一个 / を削除したと思います。
参考 Apache が複数のスラッシュを削除するのはなぜですか?
@Pekka 웃 さんは、URI 内の複数の隣接する
/
不符合RFC标准,@Pekka 웃 猜测Apache被设计为将多个相邻的/
が 1 つにマージされていることを指摘しました。同様に、調べてみると、nginxにはmerge_slashesという設定があり、リクエストURI内の隣接する2つ以上のスラッシュを1つにマージする機能を有効または無効にするために使用されますデフォルトの設定はTurnです。 に。 Apache と nginx はデフォルトで URI 内の複数の隣接する
/
を処理する際に一貫した動作をしており、どちらも RFC 標準に従っていることがわかります。http://localhost/go.php?url=http://www.163.com/ の
//
については、1 つにマージされていませんが、 http://localhost/go/http://www.163.com/ の//
は 1 つにマージされており、前者は RFC 標準に準拠していますが、後者は準拠していません。私は RFC 標準を深く理解していないため、上記の記述は厳密さが不十分である可能性があります。間違いがある場合は、ご指摘ください。しかし、この程度の理解ができれば、ほぼ十分だと思います。書き換えルールやコードの変更方法については、自分でググってください。
http://php.net/manual/zh/function.urldecode.php
Apache がパス内の
//
化简成一个/
を削除したと思います。