Score:0

เป็นไปได้ไหมที่จะเข้าถึงสตริงการสืบค้นที่แก้ไขใน RewriteCond *หลังจาก* ใช้ RewriteRule

ธง cn

เป็นไปได้ไหมที่จะเข้าถึงสตริงการสืบค้นที่แก้ไขใน RewriteCond.js หลังจาก ใช้ RewriteRule?

สิ่งที่ฉันพยายามคือการสมัคร ...

RewriteCond %{QUERY_STRING} ^(.*)&?id=([^&]+)&?(.*)$ [NC]
RewriteRule ^/app\.jsp$ /app/%2?%1%3 [R=302]

... เพื่อเขียน URL ต่อไปนี้ใหม่เป็น URL ที่ "ดี" ใช้งานได้แล้ว แต่สำหรับ (2) และ (3) ยังมีการต่อท้าย "?" โดยไม่จำเป็น และตัวอักษร "%" ที่ฉันต้องการลบ:

/app.jsp?id=123&b=1 -> /app/123?b=1 (1)
/app.jsp?id=123 -> /app/123? (2)
/app.jsp?b=1&id=123 -> /app/123?b=1& (3)

ความคิดของฉันคือการเพิ่ม RewriteRule แบบมีเงื่อนไขเพิ่มเติมเพื่อลบ "?" ต่อท้าย และ "%" ตัวอักษรจาก แก้ไข สตริงข้อความค้นหา แต่ฉันไม่รู้วิธีเข้าถึงสิ่งหลังภายใน RewriteCond ที่ตามมา ขอบคุณสำหรับคำแนะนำใด ๆ

Score:0
ธง cn

ตกลง ฉันพบวิธีแก้ปัญหาง่ายๆ ด้วยตัวเอง:

RewriteCond %{QUERY_STRING} ^()id=([^&]+)(.*)$ [NC,OR]
RewriteCond \?%{QUERY_STRING} ^(\?.*)&id=([^&]+)(.*)$ [NC]
RewriteRule ^/app\.jsp$ /app/%2%1%3 [R=302,QSD,L]

เขียนผลลัพธ์:

/app.jsp?id=123&b=1 -> /app/123?b=1 (1)
/app.jsp?id=123 -> /app/123 (2)
/app.jsp?b=1&id=123 -> /app/123?b=1 (3)
/app.jsp?b=1&id=123&d=2 -> /app/123?b=1&d=2 (4)

ข้อสังเกตบางประการ:

  • ทดสอบเรียบร้อยแล้วกับ Rewrite Valve ของ Apache Tomcat (ดู https://tomcat.apache.org/tomcat-9.0-doc/rewrite.html) สำหรับ URL เช่น https://example.com/my_webapp/app.jsp
  • ควรทำงานกับ Apache httpd เช่นกัน โดยอาจใช้ ^app แทน ^/app ในไฟล์ เขียนกฎใหม่
  • ผู้ทดสอบ .htaccess บางคนชอบ https://htaccess.madewithlove.com/ ดูเหมือนจะไม่ยอมรับ TestStrings เช่น ?%{QUERY_STRING}. กรณีดังกล่าวจึงควรทดสอบโดยตรงกับ Tomcat (หรือ httpd)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา