sunface / rust-course

“连续六年成为全世界最受喜爱的语言,无 GC 也无需手动内存管理、极高的性能和安全性、过程/OO/函数式编程、优秀的包管理、JS 未来基石" — 工作之余的第二语言来试试 Rust 吧。<<Rust语言圣经>>拥有全面且深入的讲解、生动贴切的示例、德芙般丝滑的内容,甚至还有JS程序员关注的 WASM 和 Deno 等专题。这可能是目前最用心的 Rust 中文学习教程 / Book
https://course.rs
24.23k stars 2.08k forks source link

Links of `practice.rs` are always redirect to `https://practice.course.rs/why-exercise.html` #1363

Closed edwardshao closed 5 months ago

edwardshao commented 5 months ago

Access https://practice.rs/functional-programing/closure.html as an example: Always redirect to https://practice.course.rs/why-exercise.html

...
< HTTP/2 301 
< date: Tue, 23 Jan 2024 14:48:19 GMT
< location: https://practice.course.rs/why-exercise.html
< cache-control: max-age=3600
...

Full log

curl -L https://practice.rs/functional-programing/closure.html -v > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 172.67.171.211:443...
* Connected to practice.rs (172.67.171.211) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
} [316 bytes data]
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4220 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=practice.rs
*  start date: Jan 17 17:43:01 2024 GMT
*  expire date: Apr 16 17:43:00 2024 GMT
*  subjectAltName: host "practice.rs" matched cert's "practice.rs"
*  issuer: C=US; O=Google Trust Services LLC; CN=GTS CA 1P5
*  SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://practice.rs/functional-programing/closure.html
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: practice.rs]
* [HTTP/2] [1] [:path: /functional-programing/closure.html]
* [HTTP/2] [1] [user-agent: curl/8.4.0]
* [HTTP/2] [1] [accept: */*]
> GET /functional-programing/closure.html HTTP/2
> Host: practice.rs
> User-Agent: curl/8.4.0
> Accept: */*
> 
< HTTP/2 301 
< date: Tue, 23 Jan 2024 14:48:19 GMT
< location: https://practice.course.rs/why-exercise.html
< cache-control: max-age=3600
< expires: Tue, 23 Jan 2024 15:48:19 GMT
< report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=u17uAaI8elStpc2DpFYCqDQJG0yh%2FuTqHCMUJBZj%2B%2F5MkQ%2Fypa%2BA59u2OlwcGmyJaa5H91PBAQ03d9UjXbnDXPAoR4zyjSzg%2BijN9imIqxnYDBw%2FyhOfZvCCaWIU%2Fg%3D%3D"}],"group":"cf-nel","max_age":604800}
< nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
< server: cloudflare
< cf-ray: 84a0d6404c7623f8-HKG
< alt-svc: h3=":443"; ma=86400
< 
{ [0 bytes data]
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
* Connection #0 to host practice.rs left intact
* Issue another request to this URL: 'https://practice.course.rs/why-exercise.html'
*   Trying 172.67.146.28:443...
* Connected to practice.course.rs (172.67.146.28) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
} [323 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4212 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=course.rs
*  start date: Nov 29 23:26:29 2023 GMT
*  expire date: Feb 27 23:26:28 2024 GMT
*  subjectAltName: host "practice.course.rs" matched cert's "*.course.rs"
*  issuer: C=US; O=Google Trust Services LLC; CN=GTS CA 1P5
*  SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://practice.course.rs/why-exercise.html
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: practice.course.rs]
* [HTTP/2] [1] [:path: /why-exercise.html]
* [HTTP/2] [1] [user-agent: curl/8.4.0]
* [HTTP/2] [1] [accept: */*]
> GET /why-exercise.html HTTP/2
> Host: practice.course.rs
> User-Agent: curl/8.4.0
> Accept: */*
> 
< HTTP/2 200 
< date: Tue, 23 Jan 2024 14:48:19 GMT
< content-type: text/html; charset=utf-8
< last-modified: Mon, 22 Jan 2024 01:20:48 GMT
< access-control-allow-origin: *
< expires: Tue, 23 Jan 2024 13:08:41 GMT
< cache-control: max-age=600
< x-proxy-cache: MISS
< x-github-request-id: 6204:2175:259C7B:2C3801:65AFB800
< via: 1.1 varnish
< age: 0
< x-served-by: cache-bur-kbur8200090-BUR
< x-cache: HIT
< x-cache-hits: 1
< x-timer: S1706021300.850485,VS0,VE97
< vary: Accept-Encoding
< x-fastly-request-id: 667f067418fcdea684cd11f1435697b24f69f79d
< cf-cache-status: DYNAMIC
< report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=0GAjUsUxRT9jocvQURXBAg8gvoWfa0UKW9REqLOqMxYaat5Xs3fxgLm1ttI6S0A%2BHPkK0TPdIzF8MefOATWGtxW5YPvd2HGT2Bh97Cp2eFdzBAOlEywYsDo6kViCpjb873fg6Wk%3D"}],"group":"cf-nel","max_age":604800}
< nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
< server: cloudflare
< cf-ray: 84a0d6440aed7d07-LAX
< alt-svc: h3=":443"; ma=86400
< 
{ [2729 bytes data]
100 27386    0 27386    0     0  25225      0 --:--:--  0:00:01 --:--:-- 25225
* Connection #1 to host practice.course.rs left intact
sunface commented 5 months ago

thanks for your feedback, I will check it later.

sunface commented 5 months ago

fixed, thanks :)