অ্যাপলে 2 - 301 ইউআরএল-এর ডিরেক্টরি শেষে "/" হারিয়ে গেলে পুনর্নির্দেশ করুন


13

শেষে স্ল্যাশ ("/") ছাড়াই এই জাতীয় 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প্রতিরোধ করতে ব্যবহার করব ? নাকি অন্য কনফিগারেশন? বা আমি কি কেবল এটির মতো হওয়া উচিত এবং সমস্ত এইচটিএমএল লিঙ্কের শেষে একটি স্ল্যাশ যুক্ত করে কিছু পুনর্নির্দেশের সাথে বাঁচতে পারি?

আপনারা কি ভাবেন?


আমি মনে করি আপনি কেন এটি অক্ষম করতে চান তা আপনাকে পরিষ্কার করতে হবে I পুনঃনির্দেশের একমাত্র বুদ্ধিমান বিকল্পটি /socialআপনার উদাহরণের জন্য 404 দিয়ে সাড়া দিবে ।
হাকান লিন্ডকভিস্ট

আমি এটিকে অক্ষম করতে চাই না, কেবল পুনর্নির্দেশটি প্রতিরোধ করুন। আমি সার্ভারটি index.htmlপুনর্নির্দেশ ছাড়াই আউটপুট দিতে চাই
জোনাথন গুরবো

"এটি" দ্বারা আমি ভুল url থেকে সঠিক url এ পুনঃনির্দেশের সাথে স্বাভাবিক আচরণের কথা উল্লেখ করছি। উদাহরণস্বরূপ বিষয়বস্তু পরিবেশন করা খারাপ ধারণা হতে পারে এমন কয়েকটি কারণের জন্য @ ক্যাস্পার্ডের উত্তর দেখুন /social। (এছাড়াও, সাধারণভাবে, একাধিক ইউআরএলে একই বিষয়বস্তু পরিবেশন করা সাধারণত পছন্দ হয় না))
হ্যাঙ্কান লিন্ডকভিস্ট

উত্তর:


10

পুনঃনির্দেশ ছাড়াই ডেটা প্রেরণে আপেক্ষিক লিঙ্কগুলি ভেঙে যায়। যদি http://server/directoryএতে থাকে fileতবে তার জন্য সম্পূর্ণ ইউআরএল http://server/directory/file। এর মতো নির্দিষ্ট লিঙ্কটি যদি বেস ইউআরএল হয় তবে এটি <a href="file">নির্দেশ করবে , তবে যদি বেস ইউআরএলটি কেবল এটির পরিবর্তে নির্দেশ করা হত যা উদ্দেশ্যযুক্ত ফলাফল নয়।http://server/directory/filehttp://server/directory/http://server/directoryhttp://server/file

পুনর্নির্দেশের পরিবর্তে ইউআরএলের উপর নির্ভর করে অ্যাপাচি দুটি পৃথক উপায়ে ডিরেক্টরি তালিকা তৈরি করতে পারত। তবে index.htmlডিরেক্টরিতে কোনও ফাইল থাকলে এটি কাজ করবে না । সুতরাং পরিবর্তে অ্যাপাচি ব্যবহার করছে, যা উভয় ক্ষেত্রেই কাজ করে।

এটি কোনও নতুন আচরণ নয়, এক দশক আগে অ্যাপাচি একইভাবে আচরণ করছিল। যে ক্লায়েন্টগুলি পুনর্নির্দেশ পরিচালনা করতে পারে না তাদের এখনই ঠিক করা উচিত ছিল। তবে যে কোনও ক্লায়েন্ট পুনর্নির্দেশ পরিচালনা করতে পারবেন না তাদের জন্য অ্যাপাচি একটি ছোট এইচটিএমএল ফাইলের সাথে একটি লিঙ্ক সহ প্রেরণ করা উচিত যা তার পরিবর্তে অনুসরণ করা যেতে পারে।


এটি প্রশ্নের উত্তর দেয় না। এটি সঠিক, আপেক্ষিক লিঙ্কগুলি নষ্ট হয়ে যেতে পারে। তবে যদি কেউ কোনও পথ ছাড়ার জন্য কোনও ট্র্যাশিং স্ল্যাশ ছাড়াই বিতরণ করতে চায় তবে তার জন্য তাদের পুনর্বাসনা থাকতে পারে, উদাহরণস্বরূপ যখন কোনও পোষ্ট অনুরোধটি কোনও ওয়েব সার্ভিসে প্রেরণ করা হয়। ওয়েব পরিষেবাগুলিতে কোনও আপেক্ষিক লিঙ্ক নেই এবং পুনর্নির্দেশের কারণে পোষ্টের শরীরটি নষ্ট হয়ে যায়।
ডাঃ ফু মাঞ্চু

9

mod_dirএটি পুনর্নির্দেশ যোগ করে এবং আপনি এটি কোনও DirectorySlash Offনির্দেশ দিয়ে অক্ষম করতে পারেন ।

দ্রষ্টব্য, তবে, পিছনে স্ল্যাশ পুনর্নির্দেশ অক্ষম করা কিছু পৃষ্ঠা ভাঙ্গার কারণ হতে পারে। যদি পৃষ্ঠাটি ফেরত দেওয়া হচ্ছে তবে আপেক্ষিক লিঙ্কগুলি রয়েছে, তবে পৃষ্ঠাটি অনুসরণের স্ল্যাশ ছাড়াই পরিবেশন করা থাকলে সেই URL গুলি আলাদাভাবে সমাধান করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.