2
การเปลี่ยนเส้นทาง URL ให้สั้นลงแบบทำเองที่ขัดแย้งกับการเปลี่ยนเส้นทาง 301
ฉันมีเว็บไซต์ที่เดิมสร้างขึ้นโดยใช้ ASP คลาสสิก ประมาณหนึ่งปีที่ผ่านมามันถูกเขียนใหม่ใน PHP ทำให้ส่วนขยายไฟล์มีการเปลี่ยนแปลงและบางหน้าถูกย้ายไปยังที่ตั้งใหม่ภายในเว็บไซต์ โดยปกติเราทำการเปลี่ยนเส้นทาง 301 จาก URL เก่าไปยัง URL ใหม่เพื่อให้ผู้ใช้และเครื่องมือค้นหาสามารถค้นหาตำแหน่งใหม่ได้ มันใช้งานได้ดี นอกจากนี้เรายังสร้างเครื่องมือที่ช่วยให้เจ้าของไซต์สร้าง URL เล็ก ๆ ของตัวเองที่จะเปลี่ยนเส้นทางไปยังหน้าเว็บที่มีตัวแปรการติดตามแคมเปญ Google Analytics ซึ่งรวมอยู่ใน URL เพื่อให้พวกเขาสามารถติดตามแคมเปญและดูประสิทธิภาพของมัน ปัญหาที่ฉันมีคือกฎการติดตามแคมเปญขัดแย้งกับการเปลี่ยนเส้นทาง 301 และป้องกันไม่ให้การเปลี่ยนเส้นทางทำงานได้เลย นี่คือรหัสติดตามแคมเปญ: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /tracking.php?$1 [R=301,L] ในขณะที่คุณสามารถดูมันตรวจสอบเพื่อดูว่าไฟล์ที่มีอยู่และถ้ามันไม่ได้เปลี่ยนเส้นทางไปยังสคริปต์ติดตาม (tracking.php) ซึ่งจะใช้รหัสติดตามและเปลี่ยนเส้นทางไปยัง URL ที่เหมาะสมด้วยรหัสแคมเปญ Google Analytics ในแบบสอบถาม เชือก รหัสนั้นทำให้กฎเช่นนี้ล้มเหลว: redirect 301 …