পুনঃনির্দেশ। Htaccess: অন্য ডোমেইন থেকে পুনঃনির্দেশিত এবং অন্য পৃষ্ঠায় পুনঃনির্দেশিত

  1. পুনঃনির্দেশ। Htaccess: স্থায়ী পুনঃনির্দেশ, 301
  2. Www (অথবা www ছাড়া) একটি পুনঃনির্দেশ সেট আপ কিভাবে
  3. কিভাবে। Htaccess তৈরি করতে
  4. .Htaccess ফাইল কাজ করে না
  5. Nginx মধ্যে .htaccess এর কোনো analogue আছে?
  6. লেখক
  7. x64 (উর ওআইআই)

শুভ রবিবার!

প্রায়শই ফোরামে আপনি .htaccess- এ Apache ওয়েব সার্ভার কনফিগারেশন ফাইলগুলিতে প্রশ্নগুলি খুঁজে পেতে পারেন। প্রধান স্টাম্বিং ব্লকটি হ'ল ডেভেলপমেন্টটির শেষ ব্যবহারকারীর জন্য সুবিধাজনক কনফিগারেশনের কাজ ছিল না (বন্টনটিতে চেকবক্সগুলি, ড্রপ-ডাউন তালিকা ইত্যাদি ব্যবহার করে ভিজ্যুয়াল ইনস্টলেশনের জন্য শেল অন্তর্ভুক্ত করা হয় না), কিন্তু সার্ভার অ্যাডমিনিস্ট্রেটরগণ এই কাজটি "অসাধারণ" (লিনাক্স টিম - ম্যান থেকে - ডেভেলপারদের কাছ থেকে একটি দ্রুত টিউটোরিয়াল, অথবা এই ক্ষেত্রে পেশাদার থেকে পেশাদারদের)।

বেশিরভাগ ক্ষেত্রে, সহজ ম্যানিপুলেশনগুলি প্রয়োজন হয়: শর্তহীনভাবে অন্য সাইটটিতে পুনঃনির্দেশিত করা হয়, বা এক জায়গায় অন্য জায়গায় পুনঃনির্দেশনা (বলুন, বিভাগের URL পরিবর্তন হয়েছে)। এবং প্রতিটি ব্যক্তি বিশ্বাস করতে শুরু করে যে সেখানে অবশ্যই কোনও সমস্যা নেই এবং ইন্টারনেটে একটি সমাধান খোঁজার জন্য এবং ফোরামটি অনুসন্ধানের জন্য এটি নিরর্থক। দেখা যাক এই সমস্যাগুলো আসলে কি না।

বেশিরভাগ ক্ষেত্রে, সহজ ম্যানিপুলেশনগুলি প্রয়োজন হয়: শর্তহীনভাবে অন্য সাইটটিতে পুনঃনির্দেশিত করা হয়, বা এক জায়গায় অন্য জায়গায় পুনঃনির্দেশনা (বলুন, বিভাগের URL পরিবর্তন হয়েছে)।  এবং প্রতিটি ব্যক্তি বিশ্বাস করতে শুরু করে যে সেখানে অবশ্যই কোনও সমস্যা নেই এবং ইন্টারনেটে একটি সমাধান খোঁজার জন্য এবং ফোরামটি অনুসন্ধানের জন্য এটি নিরর্থক।  দেখা যাক এই সমস্যাগুলো আসলে কি না।

পুনঃনির্দেশ। Htaccess: স্থায়ী পুনঃনির্দেশ, 301

এই জিনিস বিভিন্ন নাম আছে। নেপনিটাকি সম্ভবত সেই সংখ্যাটি সৃষ্টি করতে পারে - কেন 301? সারাংশটি HTTP প্রোটোকলের মধ্যেই রয়েছে, যা একটি নির্দিষ্ট স্থিতি কোডের সাথে ক্লায়েন্ট অনুরোধগুলির প্রতিক্রিয়া দেয়। 404 টি পাওয়া কোড প্রায় সবাই পরিচিত। 200 ঠিক আছে কোডটি অজানা, কিন্তু এর অর্থ হচ্ছে সবকিছু ঠিক আছে এবং নথির ব্রাউজারে দেখানো হবে। কিন্তু কোড 301 মুভিড স্থায়ীভাবে অর্থাত্ ডকুমেন্ট অবশেষে একটি নতুন ঠিকানায় চলে এসেছে। এটি প্রায়শই পুনঃনির্দেশকরণ বলা হয়, যদিও মোট প্রতিক্রিয়া পুলটি - 3xx: পুনঃনির্দেশকরণ হিসাবে নির্ধারিত হয়।

Apache পুনঃনির্দেশের জন্য বিভিন্ন অপশন আছে। Mod_rewrite মডিউল পুনঃনির্দেশের সাথে কাজ করার জন্য একটি চমৎকার প্রক্রিয়া সরবরাহ করে এবং ভবিষ্যতে আমি উদাহরণগুলিতে এটি ব্যবহার করব। Mod_alias মডিউলটিতে একটি নির্দিষ্ট ঠিকানা থেকে বা নিয়মিত অভিব্যক্তির সাথে মেলে এমন ঠিকানা থেকে পুনঃনির্দেশের নির্দেশ রয়েছে:
পুনঃনির্দেশ স্থায়ী / http://newsite.ru/
পুনঃনির্দেশ স্থায়ী। * HTTP://newsite.ru/
কিন্তু mod_rewrite পুনঃনির্দেশনের জন্য অতিরিক্ত বিকল্প আছে, তাই এটি ব্যবহার করা ভাল (IMHO)।

সাধারণভাবে, একটি শর্তহীন বাহ্যিক (এটি ব্যবহারকারীকে কল করুন) পুনঃনির্দেশিত করতে, যা ব্রাউজারটি স্বয়ংক্রিয়ভাবে অন্য পৃষ্ঠায় পুনঃনির্দেশিত হয়, সাধারণত ব্যবহারকারীর জন্য (অদলবদল বার পরিবর্তন) অযৌক্তিকভাবে, আপনি এই কোডটি .htaccess এ রাখতে পারেন:
রিভারাইট ইঞ্জিন
পুনর্বিবেচনা। * HTTP://newsite.ru/ [এল, আর = স্থায়ী]
এখানে, প্রথম লাইনটি mod_rewrite মডিউলটির প্রক্রিয়া অন্তর্ভুক্ত করে যা ঠিকানাগুলির সাথে কিছু করার অনুমতি দেয়। চলুন এই উড়ন্ত অবস্থার দ্বারা এই URL রূপান্তর কল। দ্বিতীয় লাইন সরাসরি রূপান্তরের জন্য নিয়ম সংজ্ঞায়িত করে; উপরের উদাহরণে, সমস্ত অনুরোধ http://newsite.ru/ এ পুনঃনির্দেশিত করা হবে। পতাকাগুলি বর্গক্ষেত্র বন্ধনীগুলিতে স্থাপন করা হয়: এল - শেষ (শেষ) নিয়ম, R - পুনঃনির্দেশ টাইপ (পুনঃনির্দেশ), R = কোড হিসাবে নির্দেশিত হয়, কোডটি একটি বর্ণানুক্রমিক বা সাংখ্যিক অবস্থান (স্থায়ী বা 302)।

আসলে, mod_rewrite একটি খুব দরকারী জিনিস, কারণ এটি এই কারণে যে অনেক ইঞ্জিন সক্রিয়ভাবে তথাকথিত সিএনসি (মানব ইউআরএল বোঝার যোগ্য) ব্যবহার করে। আপনি এই শব্দটি অপরিচিত না হলে, আমি একটি উদাহরণ ব্যাখ্যা করব। সম্পর্কে নিবন্ধ সাইটের জন্য বিনামূল্যে ইঞ্জিন ঠিকানা আছে: https://a-panov.ru/2014/11/free-cms/

এই ইউআরএলটি দেখতে, এটি অবিলম্বে স্পষ্ট যে নিবন্ধটি নভেম্বর ২014-এ প্রকাশিত হয়েছিল। শিরোনামটি সরাতে শিরোনামটি সরানোর মাধ্যমে - https://a-panov.ru/2014/11/ - আমরা নভেম্বরের জন্য সমস্ত প্রকাশনার একটি তালিকা পাবেন। সাধারণ ঠিকানা, টাইপ:

https://a-panov.ru/?p=389

কোন বিশেষ বন্ধুত্ব। এমন একটি ঠিকানা দেখলে, আপনি যে পৃষ্ঠায় নেতৃত্ব দেন সে সম্পর্কে আপনি বলতে পারেন না, একেবারে কিছুই না।

নতুন সাইটটির কোনও পৃষ্ঠাটি লিঙ্ক করার জন্য আপনি যখন যত্ন নিচ্ছেন তখন এই পদ্ধতিটি ভাল। কিন্তু যদি আপনি অন্য ডোমেনে চলে যান তবে ঠিকানাগুলি বজায় রাখার সময় সমস্ত অনুরোধ পুনর্নির্দেশ করা যুক্তিযুক্ত। এটি করার জন্য নিম্নলিখিত কোড ব্যবহার করুন:
পুনরূদ্ধার ^ ^। * $ এইচটিএমএল // নিউজাইট .ru /$0 [QSA, এল, আর = স্থায়ী]
নতুন QSA পতাকা প্রশ্ন চিহ্নের পরে ঠিকানায় পাওয়া যাবে এমন পরামিতিগুলি সংরক্ষণ করবে। ইতিমধ্যে পরিচিত উদাহরণে:

https://a-panov.ru/?p=389

আমি যদি .htaccess এ কোডটি রাখি, তাহলে ঠিকানাটি পুনঃনির্দেশিত হবে http://newsite.ru/?p=389 যা এই পতাকা ছাড়া বিদ্যমান হবে না।

এরপরে, আমি রূপান্তর অন্তর্ভুক্তি নির্দেশিকা বাদ দেব:
রিভারাইট ইঞ্জিন
শুধু মনে রাখবেন: যদি আপনি mod_rewrite প্রক্রিয়াটি ব্যবহার করেন তবে সমস্ত নির্দেশাবলী / রূপান্তরগুলি এই নির্দেশের পরে সম্পাদন করতে হবে। নিম্নলিখিত লাইন নিষ্ক্রিয় করা হয়:
রিভারাইট ইঞ্জিন বন্ধ
সেই অনুযায়ী, প্রত্যেকটি নিয়মের জন্য ক্রমাগত "চালু" রূপান্তর করার দরকার নেই - এটি প্রথম নির্দেশের পরে অবিলম্বে সম্পন্ন হতে শুরু করে।

Www (অথবা www ছাড়া) একটি পুনঃনির্দেশ সেট আপ কিভাবে

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

এক ডোমেইন জন্য বিকল্প সহজ। পুনর্নির্দেশ সাবডোমেন www.site.ru থেকে site.ru এ সঞ্চালিত হয়:
রিভারাইটকন্ড% {HTTP_HOST} ^ www \ .nsite \ .ru $
RewriteRule। * HTTP://nsite.ru/$0 [QSA, এল, আর = স্থায়ী]
এই নতুন রিভারাইটকন্ড নির্দেশিকা হাজির হয়েছে, যা শর্তটি নির্ধারণ করে যার অধীনে পুনঃনির্দেশগুলি কাজ করা উচিত - পুনর্বিন্যাসের নিয়ম। শর্ত, এই ক্ষেত্রে, www.nsite.ru এর সাথে সম্পর্কিত ডোমেন নাম (নিয়মিত এক্সপ্রেশনগুলিতে, ডট প্রতীক মানে "কোন অক্ষর", তাই এটি ব্যাকস্ল্যাশ দ্বারা এটি ঢালতে পরামর্শ দেওয়া হয়)।

বিপরীত পুনর্নির্দেশ খুব সহজ:
রিভারাইটকন্ড% {HTTP_HOST} ^ nsite \ .ru $
পুনরাবৃত্তি। * HTTP://www.nsite.ru/$0 [QSA, এল, আর = স্থায়ী]
উভয় অপশন কাজ করছে, কিন্তু তাদের একটি ছোট বিয়োগ আছে - প্রতিটি নতুন কনফিগারেশনের জন্য এটি আপনার নিজের সাথে nsite.ru ডোমেন প্রতিস্থাপন করা আবশ্যক । একটি অনন্য বিকল্প করা সম্ভব? সহজ!

কোনও www সাবডোমেন থেকে পুনঃনির্দেশিত করুন:
রিভারাইটকন্ড% {HTTP_HOST} ^ www \। (। *) $
পুনরাবৃত্তি। * এইচটিপি: //% 1 / $ 0 [QSA, এল, আর = স্থায়ী]

Www সঙ্গে একটি সাবডোমেন থেকে পুনঃনির্দেশিত:
রিভারাইটকন্ড% {HTTP_HOST}! ^ Www \।
পুনরাবৃত্তি। * HTTP: //www.% {HTTP_HOST} / $ 0 [QSA, L, R = স্থায়ী]

% {HTTP_HOST} - বর্তমান ডোমেইন

কিভাবে। Htaccess তৈরি করতে

এই ধরনের প্রশ্ন উত্থাপন। সমস্যাটি হল স্ট্যান্ডার্ড এক্সপ্লোরার (গ্রাফিকাল ইন্টারফেসের জন্য দায়ী উইন্ডোজ অ্যাপ্লিকেশন) আপনাকে ডট দিয়ে শুরু হওয়া ফাইলগুলি তৈরি করতে দেয় না (ডেস্কটপে বা উইন্ডোতে ডান ক্লিক করে ফাইলগুলি বা ফোল্ডার তৈরি করে এবং তৈরি তালিকা থেকে পছন্দসই পদক্ষেপ নির্বাচন করে)। কিন্তু একটি উপায় আছে: স্ট্যান্ডার্ড নোটপ্যাড রেকর্ডারটি খুলুন, মেনুতে ফাইল → এভাবে সংরক্ষণ করুন ... নির্বাচন করুন এবং সংরক্ষিত ফাইলের নাম হিসাবে .htaccess উল্লেখ করুন - এর পরে এটি তৈরি করা হবে।

.Htaccess ফাইল কাজ করে না

একটি ফাইল থেকে নির্দেশ কাজ না হলে ক্ষেত্রে আছে। এটি সাধারণত এই কারণে ঘটেছে যে .htaccess সমর্থন Apache কনফিগারেশনে অক্ষম করা হয়েছে, যার জন্য নির্দেশিকা দায়ী:
AllowOverride অনুমতি দেয় না

এটি সাধারণত কিছুটা গতি বৃদ্ধি করার জন্য করা হয় - এই ক্ষেত্রে, ওয়েব সার্ভার অনুসন্ধান এবং পার্স। Htaccess বিশ্লেষণ করে না।

এটিও সম্ভব যে আপ্যাকে সার্ভারে ব্যবহার করা হয় না, উদাহরণস্বরূপ, উইন্ডোজ হোস্টিংয়ে আইআইএস প্রধান "গেস্ট"। স্পষ্টকরণের জন্য, আপনার হোস্টারের সমর্থন যোগাযোগ করুন।

Nginx মধ্যে .htaccess এর কোনো analogue আছে?

আরেকটি মোটামুটি ঘন ঘন প্রশ্ন। এই ওয়েব সার্ভারে, এটি সম্ভব নয়। তবে, সাধারণত এই প্রয়োজন হয় না। প্রকৃতপক্ষে nginx সাধারণত একটি ফ্রেন্ডেন্ড হিসাবে ইনস্টল করা হয়, অর্থাৎ, এটি নিজে নিজে সঞ্চালিত সমস্ত অনুরোধ গ্রহণ করে এবং প্রক্রিয়া করে এবং ব্যাকএন্ডে পুনঃনির্দেশিত করে, যা অপাচে দ্বারা সঞ্চালিত হতে পারে, যা .htaccess ব্যবহার করে আরও কনফিগার করা যেতে পারে।

লেখক

অনলাইন 1 দিন না

x64 (উর ওআইআই)

মন্তব্যসমূহ: 2834 প্রকাশনা: 394 নিবন্ধন: 02-04-2009

Htaccess এর কোনো analogue আছে?
Ru/?
Ru/?
Ru/?
Htaccess এর কোনো analogue আছে?