আমি ইউআরএলগুলি পুনরায় লেখার জন্য মোড_উইরাইট ব্যবহার করছি:
http://example.com/1,2,3,4/foo/
.Htaccess এ এটি করে:
RewriteEngine On
RewriteRule ^([\d,]+)/foo/$ /foo.php?id=$1 [L,QSA]
এটি সূক্ষ্মভাবে কাজ করে, যখন "1,2,3,4" 255 বর্ণের চেয়ে বেশি স্ট্রিংতে রূপান্তরিত করে, অ্যাপাচি একটি "403 নিষিদ্ধ" ফিরিয়ে দেয়।
foo.php?id=1,2,3,4
খুব দীর্ঘ আইডি স্ট্রিং সহ এমনকি সরাসরি দেখার কোনও সমস্যা নেই , তবে এটি আমার পক্ষে কোনও বিকল্প নয়।
আমার কি কিছু অ্যাপাচি বা অন্য সেটিং মুছে ফেলা উচিত?
আপডেট : আমি রাইরাইটলগটি রিভারিটলগ 9 দিয়ে চালু করেছি একটি সংক্ষিপ্ত আইডি স্ট্রিং সহ আমি আমার লগ ফাইলে বেশ কয়েকটি লাইন পাই get তবে যখন আইডি স্ট্রিংটি 255 টির চেয়ে বেশি হয়, তখন কিছুই লগ হয় না (দেখে মনে হচ্ছে মোড_উইরাইট এমনকি কার্যকর করা যাচ্ছে না?)।
আপনি যদি এই প্রশ্নটিকে আকর্ষণীয় / সহায়ক মনে করেন তবে দয়া করে এটি উত্সাহিত করুন।
RewriteLog
এবং RewriteLogLevel
যাতে আপনি দেখতে পাচ্ছেন কী কী মিলছে এবং এটি কীভাবে পুনরায় লেখা হচ্ছে। আমি অনুমান করব যে কেবল 255 টি অক্ষর অনুলিপি করা হচ্ছে $1
, এবং id
এটি ক্লায়েন্ট দেখার অনুমতিপ্রাপ্ত নয় এমনটি হয়ে গেছে, তাই অ্যাপাচি 403 ফেরত দেয় I একটি নির্দিষ্ট 256-বাইট বাফার (256 তম এনআরএল সমাপ্ত করার জন্য সংরক্ষিত) এর পিছনে উল্লেখ।