শেষে স্ল্যাশ ("/") ছাড়াই এই জাতীয় url এর অনুরোধ করার সময় আমি এই পুনঃনির্দেশ (301) টি লক্ষ্য করেছি না: http://server/directory
সার্ভারটি 301 পুনর্নির্দেশ স্থায়ী শিরোনামের সাথে লোকেশন শিরোনামটি সনাক্ত করে স্থগিত করবে http://server/directory/
।
এই সরাসরি উদাহরণটি দেখুন:
ব্যবহারকারীর অনুরোধ:
GET /social HTTP/1.1
( http://192.168.1.111/social )
অ্যাপাচি সার্ভারের প্রতিক্রিয়া:
HTTP/1.1 301 Moved Permanently
Location: http://192.168.1.111/social/
ব্যবহারকারীর অনুরোধ:
GET /social/ HTTP/1.1
( http://192.168.1.111/social/ )
অ্যাপাচি সার্ভারের প্রতিক্রিয়া:
HTTP/1.1 200 OK
অ্যাপাচি অ্যাক্সেস.লগ:
192.168.1.130 - - [05/Apr/2014:22:06:47 +0200] "GET /social HTTP/1.1" 301 558 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0"
-
192.168.1.130 - - [05/Apr/2014:22:06:47 +0200] "GET /social/ HTTP/1.1" 200 942 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0"
/ সামাজিক / ডিরেক্টরিতে একটি index.html
ফাইল রয়েছে ।
অ্যাপাচি সফ্টওয়্যার: Apache/2.2.22 (Ubuntu)
ডিরেক্টরি বিকল্প:Options Indexes FollowSymLinks MultiViews
তো, আমার প্রশ্ন হ'ল আপাচি কেন এটি করছে? এবং কীভাবে পুনর্নির্দেশটি রোধ করবেন এবং index.html
সরাসরি পাঠিয়ে দেবেন ? ক্লায়েন্টদের দুটি অনুরোধ প্রেরণ করতে হবে যা সত্যই অপ্রয়োজনীয়। এবং সম্ভবত কিছু ক্লায়েন্ট পুনঃনির্দেশগুলি অনুমতি দেয় না এবং শেষ স্ল্যাশ ("/") ব্যতীত সাইটে যেতে সক্ষম হবে না।
আমি পুনর্নির্দেশটি অক্ষম করতে চাই না। সার্ভারটি কোনও পুনঃনির্দেশ ছাড়াই সরাসরি প্রতিক্রিয়া প্রেরণ করতে চাই না। অনুরোধ করার সময়ও /social
।
অ্যাপাচি কি এই অনুরোধগুলি পুনর্নির্দেশের জন্য ডিজাইন করা হয়েছে? সার্ভার কেবল ডাইরেক্টরিফিকেশন ছাড়াই ডেটা পাঠাতে পারে, তাই না? আমি কি এটি mod_rewrite
প্রতিরোধ করতে ব্যবহার করব ? নাকি অন্য কনফিগারেশন? বা আমি কি কেবল এটির মতো হওয়া উচিত এবং সমস্ত এইচটিএমএল লিঙ্কের শেষে একটি স্ল্যাশ যুক্ত করে কিছু পুনর্নির্দেশের সাথে বাঁচতে পারি?
আপনারা কি ভাবেন?
index.html
পুনর্নির্দেশ ছাড়াই আউটপুট দিতে চাই
/social
। (এছাড়াও, সাধারণভাবে, একাধিক ইউআরএলে একই বিষয়বস্তু পরিবেশন করা সাধারণত পছন্দ হয় না))
/social
আপনার উদাহরণের জন্য 404 দিয়ে সাড়া দিবে ।