ฉันค่อนข้างใหม่กับ Apache Rewrites ดังนั้นนี่อาจเป็นคำถามง่ายๆ (ซึ่งไม่ง่ายนักที่จะค้นหาคำตอบโดยตรง)
ดังนั้นฉันจึงเขียนใหม่ดังต่อไปนี้:
RewriteCond %{QUERY_STRING} ^parm=([a-z]+)$ [NC]
RewriteRule ^path/to/some_script.php /simple-url-$1.html? [R=301,L]
ซึ่งดูเหมือนว่าจะทำงานได้ตามที่คาดไว้ในการทดสอบ:
www.mydomain.com/path/to/some/script.php?parm=foo
อย่างถูกต้อง 301 ถึง:
www.mydomain.com/simple-url-foo.html
อย่างไรก็ตาม ข้อกังวลของฉันคือหากไม่มี RewriteCond กำหนดสคริปต์อย่างชัดเจน เงื่อนไขนี้จะได้รับการตรวจสอบในทุกคำขอ ไม่ว่าจะเป็นสำหรับ some_script.php... ซึ่งนำไปสู่โหลดที่ไม่จำเป็นบน Apache หรือไม่
เป็นกรณีนี้หรือไม่? หากเป็นเช่นนั้น ฉันมีปัญหาในการหาวิธีใช้ REQUEST_URI ในกรณีนี้ IE:
RewriteCond %{REQUEST_URI} ^path/to/some_script.php [NC]
RewriteCond %{QUERY_STRING} ^parm=([a-z]+)$ [NC]
RewriteRule ^path/to/some_script.php /simple-url-$1.html? [R=301,L]
ดูเหมือนว่าข้างต้นจะไม่ทำงาน และฉันไม่แน่ใจว่าทำไม พอยน์เตอร์ใด ๆ ?