คำถามติดแท็ก redirect

กลไก HTTP หรือ HTML ที่ใช้สำหรับเปลี่ยนเส้นทางเบราว์เซอร์ไปยังตำแหน่งที่มีเนื้อหาจริง

3
ตัวอย่างของ 302 กับ 303
ความแตกต่างระหว่าง a 302และ303การตอบกลับคืออะไร? http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 10.3.3 302 พบ 10.3.4 303 ดูอื่น ๆ สิ่งเหล่านี้สามารถใช้แทนกันได้หรือเพราะเหตุใดจึงต้องใช้สิ่งอื่นมากกว่า? คุณช่วยกรุณาระบุกรณีการใช้เมื่อจะใช้ (และอื่น ๆ จะไม่)?
22 http  redirect 

1
ฉันจะรับ nginx เพื่อส่งต่อคำขอ HTTP POST ผ่านการเขียนใหม่ได้อย่างไร
แอป iOS ของฉันกำลังเข้าถึงโดเมน A ผ่าน http POST แต่ฉันต้องการส่งต่อคำขอทั้งหมดไปยังโดเมน B ถ้าฉันใช้ตามปกติrewrite ^/(.*)$ http://mydomain/$1 permanent;ข้อมูล POST ดูเหมือนว่าจะหายไป ฉันจะส่งข้อมูล HTTP POST ไปยังโดเมนอื่นโดยใช้ NginX ได้อย่างไร
19 ubuntu  nginx  redirect 

5
ฉันจะบังคับให้ URL ของฉันเริ่มต้นด้วย www ได้อย่างไร
ฉันต้องการที่จะแน่ใจว่าผู้ใช้มาถึงแม้ว่าพวกเขาจะมาถึงผ่านนามแฝงwww.mydomain.com mydomain.comนี่คือเพื่อให้ฉันสามารถควบคุมคุกกี้ในโดเมนย่อยและเพื่อให้ Google เห็นหนึ่งโดเมนเดียวและไม่หลบ URL ฉันจะทำสิ่งนี้ด้วย apache ได้อย่างไร

2
คุณสามารถใช้ Redirect และ Proxypass ได้ในเวลาเดียวกัน
ฉันใช้ Apache 2.2.15 บน CentOS เพื่อให้ SSL สำหรับแอปพลิเคชัน TomCat ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300 ProxyPassReverse / http://127.0.0.1:8090 มันใช้งานได้ดีและทุกอย่างยอดเยี่ยม อย่างไรก็ตามฉันต้องการเพิ่มบรรทัดต่อไปนี้: Redirect permanent /broken/page.html https://www.servername.com/correct/page.html ก่อนหน้าข้างต้นเพื่อจัดการข้อผิดพลาดในแอปพลิเคชัน TomCat อย่างไรก็ตามดูเหมือนว่าจะไม่ทำงานตามที่ฉันคาดหวัง เป็นไปได้ไหมที่จะใช้การเปลี่ยนเส้นทางด้วยวิธีนี้ ฉันไม่มีความสามารถในการแก้ไขแอปพลิเคชันโชคไม่ดี

2
nginx เขียนใหม่สำหรับ URL ที่มีพารามิเตอร์
ฉันมี URL ประเภทนี้: http://www.example.com/?param1=val1&param2=&param3=val3&param4=val4&param5=val5 และฉันต้องการเปลี่ยนเส้นทางไปยังอันนี้: http://www.example.com/newparam/val3/val4 ดังนั้นฉันได้ลองกฎการเขียนใหม่นี้โดยไม่ประสบความสำเร็จ: rewrite "/?param1=val1&param2=&param3=(.+)&param4=(.+)&param5=(.+)" http://www.example.com/newparam/$1/$2 redirect; nginx ไม่สามารถจัดการกับพารามิเตอร์การสืบค้นได้หรือไม่ แก้ไข:ฉันไม่ต้องการเขียนคำร้องทั้งหมด ฉันต้องเขียน URL นั้นใหม่โดยไม่ส่งผลกระทบต่อคนอื่น

1
การจับภาพ STDERR และ STDOUT ไปยังไฟล์โดยใช้ที
ฉันไม่มีความชัดเจนว่าการสั่งซื้อที่ดีที่สุดคือการจับภาพทั้งSTDERRและไปยังแฟ้มเดียวกันโดยใช้STDOUT teeฉันรู้ว่าถ้าฉันต้องการไปป์กับไฟล์ฉันต้องแมป filehandle หลังจากเปลี่ยนเส้นทางคือ find . >/tmp/output.txt 2>&1 นี้จะสั่งให้เปลือกที่จะส่งSTDOUTไป/tmp/output.txtแล้วจะส่งSTDERRไปSTDOUT(ซึ่งขณะนี้ส่งไปยัง/tmp/output.txt) ความพยายามที่จะดำเนินการ2>&1ก่อนที่จะเปลี่ยนเส้นทางไฟล์จะไม่มีผลที่ต้องการ อย่างไรก็ตามเมื่อฉันต้องการใช้ pipe teeควรเป็น: find . |tee /tmp/output.txt 2>&1 # or find . 2>&1 |tee /tmp/output.txt # ?
16 linux  unix  redirect  pipe 

7
การเปลี่ยนเซิร์ฟเวอร์ - เปลี่ยนเส้นทางเป็น IP ใหม่ = ไม่หยุดทำงานหรือไม่
ฉันกำลังเปลี่ยนเซิร์ฟเวอร์ของเว็บไซต์ของฉัน ไม่สามารถย้าย IP ของเซิร์ฟเวอร์เก่าไปยังเซิร์ฟเวอร์ใหม่ได้ หากต้องการไม่มีเวลาหยุดทำงานฉันวางแผนที่จะทำสิ่งต่อไปนี้กรุณาบางคนยืนยันว่าจะใช้งานได้: ติดตั้งเซิร์ฟเวอร์ใหม่และฟัง IP ใหม่ เซิร์ฟเวอร์เก่าเปลี่ยนเส้นทางการรับส่งข้อมูลทั้งหมดไปยัง IP ใหม่ เปลี่ยนระเบียน DNS ให้ชี้ไปที่ IP ใหม่ ตรรกะของฉันบอกฉันว่าเมื่อฉันเปลี่ยนเส้นทางไปยัง IP ใหม่จากกล่องเก่าของฉันผู้ใช้จะไม่เห็นชื่อโดเมนในเบราว์เซอร์ แต่จะเห็น IP ใหม่ มีวิธีในการเปลี่ยนเส้นทางไปยัง IP ใหม่และส่งไปตาม HOSTNAME ด้วยเพื่อที่ผู้ใช้จะเห็นชื่อโดเมนในเบราว์เซอร์หรือไม่ ฉันกำลังทำเช่นนี้เพราะไซต์นั้นมีการใช้งานอย่างต่อเนื่องและเพียงแค่เปลี่ยนการตั้งค่า DNS จะไม่ทำเนื่องจากฐานข้อมูลจะไม่ถูกซิงค์ระหว่างเซิร์ฟเวอร์ใหม่และเซิร์ฟเวอร์เก่าระหว่างการเผยแพร่

3
วิธีเปลี่ยนเส้นทางอีเมลขาออกทั้งหมดจาก postfix ไปยังที่อยู่เดียวเพื่อทำการทดสอบ
ฉันกำลังตั้งค่าเซิร์ฟเวอร์ทดสอบสำหรับแอปพลิเคชันบนเว็บที่ส่งการแจ้งเตือนทางอีเมล บางครั้งการทดสอบจะดำเนินการกับข้อมูลลูกค้าจริงและด้วยเหตุนี้ฉันจึงต้องรับประกันว่าเซิร์ฟเวอร์ไม่สามารถส่งอีเมลไปยังลูกค้าจริงของเราในขณะที่เรากำลังทดสอบ สิ่งที่ฉันต้องการคือการกำหนดค่า postfix เพื่อให้รับอีเมลขาออกและเปลี่ยนเส้นทางไปยังที่อยู่อีเมลเดียวแทนที่จะส่งไปยังปลายทางจริง ฉันใช้เซิร์ฟเวอร์ Ubuntu 9.10 ขอบคุณล่วงหน้า

2
Apache2 - 301 Redirect เมื่อไม่มี“ /” ที่ท้ายไดเรกทอรีใน url
ฉันไม่ได้สังเกตเห็น Redirect นี้ (301) จริงๆเมื่อขอ URL เช่นนี้โดยไม่ทับ ("/") ในตอนท้าย: http://server/directory เซิร์ฟเวอร์จะ respone กับส่วนหัว 301 http://server/directory/เปลี่ยนเส้นทางถาวรกับตำแหน่งส่วนหัวของสถานที่ที่จะ ดูตัวอย่างสดนี้: คำขอของผู้ใช้: GET /social HTTP/1.1 ( http://192.168.1.111/social ) Apache Server การตอบกลับ: HTTP/1.1 301 Moved Permanently Location: http://192.168.1.111/social/ คำขอของผู้ใช้: GET /social/ HTTP/1.1 ( http://192.168.1.111/social/ ) Apache Server การตอบกลับ: HTTP/1.1 200 OK Apache access.log: 192.168.1.130 - - …

1
เปลี่ยนเส้นทางคำขอทั้งหมดไปยัง HTTPS ยกเว้นไดเรกทอรีย่อยเดียว
ฉันกำลังพยายามย้ายจากใบรับรองที่ลงชื่อด้วยตนเองไปเป็น Let's เข้ารหัสใบรับรองบนเว็บเซิร์ฟเวอร์ nginx ของฉัน ขณะนี้ฉันเปลี่ยนเส้นทางคำขอทั้งหมดไปhttp/80ยังhttps/443ซึ่งใช้ใบรับรองที่ลงชื่อด้วยตนเองที่ฉันสร้างขึ้นเมื่อไม่นานมานี้ ตอนนี้ - จากสิ่งที่ฉันเข้าใจ Let's Encrypt ส่งคำขอไปที่พอร์ต 80 (เนื่องจากฉันใช้webrootตัวเลือกcertbot) คำขอเหล่านี้จะถูกเปลี่ยนเส้นทางซึ่งทำให้การสร้างใบรับรองไม่สำเร็จ ฉันพยายามทำสิ่งนี้ด้วยบล็อกเซิร์ฟเวอร์ต่อไปนี้ฟังที่พอร์ต 80: server { listen 80; server_name sub.domain.tld; server_tokens off; location /.well-known { root /var/www/letsencrypt; } location / { return 301 https://$host$request_uri; } } แต่คำขอจะ/.well-knownถูกเปลี่ยนเส้นทางไปยังhttps/443ใด ๆ ฉันจะเปลี่ยนเส้นทางคำขอทั้งหมดจากhttp/80ไปยังhttps/443ยกเว้นคำขอไปยังได้/.well-known/อย่างไร

2
Nginx หลายราก
ฉันต้องการเบี่ยงเบนความสนใจไปยังไดเรกทอรีย่อยหนึ่ง ๆ ไปยังตำแหน่งรากอื่น อย่างไร? บล็อกที่มีอยู่ของฉันคือ: server { listen 80; server_name www.domain.com; location / { root /home/me/Documents/site1; index index.html; } location /petproject { root /home/me/pet-Project/website; index index.html; rewrite ^/petproject(.*)$ /$1; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html …

4
SSL Certificates จำเป็นสำหรับการเปลี่ยนเส้นทางหรือไม่?
ขณะนี้เรามีเว็บไซต์ที่ตั้งค่าให้เปลี่ยนเส้นทางไปยังที่อยู่ใหม่ (ลูกค้าของเราเปลี่ยนชื่อโดเมน แต่ต้องการให้โดเมนเก่าส่งผู้คนไปยังไซต์ใหม่) ใน IIS 8.5 โดยใช้การเปลี่ยนเส้นทางแบบถาวรในคุณสมบัติ 'HTTP Redirect' สำหรับเว็บไซต์ ใบรับรอง SSL มาเพื่อต่ออายุโดเมนเก่าและมีคำถามเปิดในแผนกเทคโนโลยีของเราว่าจำเป็นต้องต่ออายุหรือไม่ เมื่อมีการตั้งค่า HTTP Redirect ใน IIS ไซต์ต้องการใบรับรอง SSL หรือไม่ หรือผู้เข้าชมจะถูกเปลี่ยนเส้นทางก่อนที่จะมีการตรวจสอบสิ่งต่าง ๆ หรือไม่

2
Nginx: เปลี่ยนที่อยู่ IP เป็นชื่อโดเมน
ด้วยการกำหนดค่า Nginx ต่อไปนี้: server { listen 80; listen [::]:80 default_server ipv6only=on; server_name isitmaintained.com; ... } server { listen 178.62.136.230:80; server_name 178.62.136.230; add_header X-Frame-Options "SAMEORIGIN"; return 301 $scheme://isitmaintained.com$request_uri; } ฉันกำลังพยายามเปลี่ยนเส้นทางhttp://178.62.136.230/ไปยังhttp://isitmaintained.com/แต่เมื่อฉันปรับใช้การกำหนดค่านี้ฉันจะจบลงด้วยการRedirect loopเชื่อมโยงเหล่านี้อย่างใดอย่างหนึ่งหรือทั้งสอง ผมทำอะไรผิดหรือเปล่า?
12 nginx  redirect 

3
เปลี่ยนเส้นทางคำขอไปยัง IP ภายนอกไปยัง localhost (จำลองเซิร์ฟเวอร์)
ฉันได้รับแอปพลิเคชัน (ไม่มีซอร์สโค้ด) โทรหาเซิร์ฟเวอร์ (รหัสที่เข้ารหัสยาก) และคาดว่าจะได้คำตอบก่อนเริ่ม (การเข้าสู่ระบบชนิดหนึ่ง) สาเหตุที่เซิร์ฟเวอร์ไม่ทำงานฉันต้องการสร้างเซิร์ฟเวอร์จำลองซึ่งจะเลียนแบบพฤติกรรมของเซิร์ฟเวอร์อย่างเป็นทางการ ปัญหาของฉัน: ฉันจะเปลี่ยนเส้นทางปริมาณการใช้งานไปยังเครื่องท้องถิ่นของฉันได้อย่างไร ฉันต้องการให้คำขอทั้งหมดส่งไปยัง IP wxyz เพื่อกำหนดเส้นทางใหม่ไปยัง localhost (ซึ่งเซิร์ฟเวอร์จำลองของฉันทำงานอยู่) ข้อมูลเพิ่มเติม: เซิร์ฟเวอร์จำลองของฉันคือโซลูชัน apache / php ฉันพยายามแก้ไขรหัสฮาร์ดโค้ดในแอปพลิเคชันด้วยตัวแก้ไข hex แต่การตรวจสอบบางอย่างล้มเหลวเมื่อฉันเริ่มแอปพลิเคชัน ทำให้ IP นั้นเข้ารหัสยากในแอปพลิเคชันฉันไม่สามารถใช้ไฟล์โฮสต์ได้ ฉันใช้ win xp ที่เกี่ยวข้อง: วิธีเปลี่ยนเส้นทางปริมาณการใช้งานไปยัง IP หนึ่งไปยัง IP อื่นบน Windows Server 2008
12 ip  redirect 

1
Nginx 1.2.2: วิธีทำให้ try_files ทำงานได้อย่างไร
ฉันอัปเดต nginx เป็นเวอร์ชัน 1.2.2 เมื่อเร็ว ๆ นี้และดูเหมือนว่ารายการต่อไปนี้จะใช้งานไม่ได้ มีการเปลี่ยนแปลงทางไวยากรณ์ระหว่างเวอร์ชันหรือไม่ location / { # First attempt to serve request as file, then # as directory, then fall back to index.html try_files $uri /index.html; } เมื่อเบราว์เซอร์ของฉันไปที่http://www.mysite.com/a-non-existent-urlฉันได้รับการเปลี่ยนเส้นทางไปยังหน้าข้อผิดพลาด "500 Internal Server Error" ทำรายการบันทึกต่อไปนี้ 2012/08/13 09:20:29 [error] 18457#0: *60 rewrite or internal redirection cycle while internally …
11 nginx  redirect 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.