DIY CNC মেশিন ধাপে ধাপে নির্দেশাবলী। বাড়িতে সিএনসি মিলিং মেশিন (গ্যারেজ)

  • 07.10.2023

আমি এই নোটটি লেখার সিদ্ধান্ত নিয়েছি কারণ আমি প্রশ্নোত্তর 100,500 বার একই জিনিসের উত্তর দিতে ক্লান্ত হয়ে পড়েছি।

অনেক নবীন ওয়েব প্রোগ্রামার শীঘ্রই বা পরে তাদের ওয়েবসাইটে মানব-পঠনযোগ্য লিঙ্ক (HUR) প্রবর্তনের কাজটির মুখোমুখি হন। সিএনসি বাস্তবায়নের আগে, সমস্ত লিঙ্ক দেখতে /myscript.php বা এমনকি /myfolder/myfolder2/myscript3.php এর মতো ছিল, যা মনে রাখা কঠিন এবং SEO এর জন্য আরও খারাপ। সিএনসি বাস্তবায়নের পরে, লিঙ্কগুলি ফর্ম /স্ট্যাটিয়া-ও-পিএইচপি বা এমনকি সিরিলিক /আর্টিকেল-ও-পিএইচপি আকারে নেয়।

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

একজন নবীন পিএইচপি প্রোগ্রামারের বিবর্তনকে নিম্নলিখিত ধাপের ক্রমানুসারে প্রকাশ করা যেতে পারে:

  1. পৃথক ফাইলগুলিতে প্লেইন-পিএইচপি কোড স্থাপন করা এবং /myfolder/myscript.php এর মতো লিঙ্কগুলির মাধ্যমে এই ফাইলগুলি অ্যাক্সেস করা
  2. বোঝা যে সমস্ত স্ক্রিপ্টের মধ্যে একটি উল্লেখযোগ্য অংশ মিল রয়েছে (উদাহরণস্বরূপ, ডাটাবেসের সাথে একটি সংযোগ তৈরি করা, কনফিগারেশন পড়া, একটি সেশন শুরু করা ইত্যাদি) এবং ফলস্বরূপ, একটি সাধারণ শুরুর "প্রবেশ" পয়েন্ট তৈরি করা, কিছু স্ক্রিপ্ট যা সমস্ত অনুরোধ গ্রহণ করে এবং তারপর বেছে নেয় কোনটি অভ্যন্তরীণ স্ক্রিপ্ট কানেক্ট করবে। সাধারণত এই স্ক্রিপ্টটির নাম index.php এবং মূলে থাকে, যার ফলস্বরূপ সমস্ত অনুরোধ (ওরফে URL) এইরকম দেখায়: /index.php?com=myaction&com2=mysubation
  3. একটি রাউটার বাস্তবায়নের প্রয়োজন এবং মানব-পাঠযোগ্য লিঙ্কগুলিতে রূপান্তর।

আমি লক্ষ্য করি যে পয়েন্ট 2 এবং 3 এর মধ্যে, বেশিরভাগ প্রোগ্রামার একটি সুস্পষ্ট ভুল করে। আমি যদি এটিকে প্রায় 95% প্রোগ্রামারদের মান বলি তবে আমি ভুল করব না। এমনকি সবচেয়ে সুপরিচিত ফ্রেমওয়ার্কেও এই ত্রুটি রয়েছে। এবং এটি নিম্নলিখিত গঠিত.

লিঙ্ক প্রক্রিয়াকরণের একটি মৌলিকভাবে নতুন উপায় বাস্তবায়নের পরিবর্তে, .htaccess-এর উপর ভিত্তি করে "প্যাচ এবং পুনঃনির্দেশ" ধারণাটি ভুলভাবে তৈরি করা হয়েছে, যা mod_rewrite ব্যবহার করে অনেকগুলি পুনঃনির্দেশিত নিয়ম তৈরি করে। এই লাইনগুলি কিছু রেগুলার এক্সপ্রেশনের সাথে ইউআরএলের তুলনা করে এবং, যদি মিল থাকে, তাহলে ইউআরএল থেকে বের করা মানগুলিকে GET ভেরিয়েবলে পুশ করে, পরবর্তীতে একই index.php কল করে।

# ভুল CNC পদ্ধতি RewriteEngine On RewriteRule ^\/users\/(.+)$ index.php?module=users&id=$1 #....আরো অনেক অনুরূপ নিয়ম...

এই ধারণার অনেক অসুবিধা আছে। তাদের মধ্যে একটি হল নিয়ম তৈরি করতে অসুবিধা, নিয়মগুলি যোগ করার সময় মানুষের ত্রুটির একটি বড় শতাংশ যা সনাক্ত করা কঠিন, কিন্তু তারা একটি 500 সার্ভার ত্রুটির দিকে নিয়ে যায়।

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

এবং আরও একটি অপূর্ণতা, সম্ভবত সবচেয়ে গুরুত্বপূর্ণ, এই পদ্ধতির সাহায্যে রাউটারটি গতিশীলভাবে কনফিগার করা অসম্ভব, অর্থাৎ, "ফ্লাইতে", অ্যালগরিদমিকভাবে পছন্দসই স্ক্রিপ্ট নির্বাচন করার নিয়মগুলি পরিবর্তন এবং প্রসারিত করুন।

নীচে প্রস্তাবিত পদ্ধতি এই সমস্ত অসুবিধা দূর করে। এটি ইতিমধ্যেই বিপুল সংখ্যক আধুনিক কাঠামোতে ব্যবহৃত হয়েছে।

মূল কথা হল প্রাথমিক অনুরোধ সর্বদা $_SERVER[‘REQUEST_URI’] ভেরিয়েবলে সংরক্ষিত থাকে, অর্থাৎ, এটি index.php-এর ভিতরে পড়া যায় এবং সমস্ত ত্রুটি হ্যান্ডলিং, ডাইনামিক রিডাইরেক্ট ইত্যাদি সহ PHP ব্যবহার করে একটি স্ট্রিং হিসাবে পার্স করা যায়।

এই ক্ষেত্রে, আপনি কনফিগারেশন ফাইলে শুধুমাত্র একটি স্থির নিয়ম তৈরি করতে পারেন, যা সমস্ত অনুরোধগুলিকে index.php-এ অস্তিত্বহীন ফাইল বা ফোল্ডারে পুনঃনির্দেশিত করবে।

RewriteEngine On RewriteCond %(REQUEST_FILENAME) !-f #যদি ফাইলটি বিদ্যমান না থাকে তাহলে RewriteCond %(REQUEST_FILENAME) !-d #এবং যদি ফোল্ডারটি বিদ্যমান না থাকে তাহলে RewriteRule ^.*$ index.php

তাছাড়া, এই নিয়মটি .htaccess এবং প্রধান Apache কনফিগারেশন ফাইল উভয়েই স্থাপন করা যেতে পারে।

nginx এর জন্য, সংশ্লিষ্ট নিয়মটি দেখতে এইরকম হবে:

অবস্থান / ( যদি (!-e $request_filename) ( পুনঃলিখন ^/(.*)$ /index.php শেষ; ) )

ইহা সহজ.

এখন আসুন index.php-এ পিএইচপি কোডের একটি অংশ দেখি, যা লিঙ্কগুলি বিশ্লেষণ করে এবং কোন স্ক্রিপ্ট চালানো হবে তা নির্ধারণ করে।

/part1/part2/part3

প্রথম যে জিনিসটি মনে আসে তা হল বিস্ফোরণ (‘/’, $uri) ব্যবহার করে এটিকে ভেঙে ফেলা এবং সুইচ/কেসের উপর ভিত্তি করে একটি জটিল রাউটার তৈরি করা যা অনুরোধের প্রতিটি অংশকে বিশ্লেষণ করে। এটা করো না! এটি জটিল এবং কোডটিকে ভয়ঙ্করভাবে বোধগম্য এবং অ-কনফিগারযোগ্য দেখায়!

আমি একটি আরো সংক্ষিপ্ত উপায় প্রস্তাব. এটি শব্দে বর্ণনা না করা ভাল, তবে অবিলম্বে কোডটি দেখান।

"page404.php", // পৃষ্ঠা 404"/" => "mainpage.php", // প্রধান পৃষ্ঠা "/news" => "newspage.php", // খবর - প্যারামিটার ছাড়া পৃষ্ঠা "/stories(/+)?" => "storypage.php", // একটি সংখ্যাসূচক প্যারামিটার সহ // আরও নিয়ম); // রাউটার কোড ক্লাস uSitemap ( public $title = ""; public $params = null; public $classname = ""; public $data = null; public $request_uri = ""; public $url_info = array(); public $ found = মিথ্যা; ফাংশন __construct() ( $this->mapClassName(); ) ফাংশন mapClassName() ( $this->classname = ""; $this->title = ""; $this->params = null; $ মানচিত্র = &$GLOBALS["সাইটম্যাপ"]; $this->request_uri = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH); $this->url_info = parse_url($this->request_uri); $uri = urldecode( $this->url_info["path"]); $data = false; foreach ($map as $term => $dd) ( $match = array(); $i = preg_match("@^."$term। "$@Uu", $uri, $match); যদি ($i > 0) ( // ক্লাসের নাম এবং প্রধান শিরোনাম অংশ পান $m = explode(", $dd); $data = array("classname) " => isset($m)?strtolower(trim($m)):"", "title" => isset($m)?trim($m):"", "params" => $match,) ; বিরতি; ) ) যদি ($ডেটা === মিথ্যা) ( // 404 if (isset($map["_404"])) ( // ডিফল্ট 404 পৃষ্ঠা $dd = $map["_404"]; $m = বিস্ফোরণ(", $dd); $this->classname = strtolower(ট্রিম($m)); $this->শিরোনাম = ট্রিম($m); $this->params = array(); ) $this->found = মিথ্যা; ) অন্য ( // পাওয়া গেছে! $this->classname = $data["classname"]; $this->title = $data["title"]; $this->params = $data["params"]; $ this->found = true; ) $this->classname ফেরত দিন; ) ) $sm = নতুন uSitemap(); $routed_file = $sm->শ্রেণীর নাম; // need() need("app/."$routed_file) এর মাধ্যমে সংযোগ করার জন্য ফাইলের নাম পান; // ফাইলটি সংযুক্ত করুন // P.S. অন্তর্ভুক্ত ফাইলের ভিতরে আপনি অনুরোধের পরামিতি ব্যবহার করতে পারেন // যা $sm->params সম্পত্তিতে সংরক্ষিত থাকে

যদিও কোডটি বেশ দীর্ঘ, এটি যৌক্তিকভাবে সহজ। আমি এটি ব্যাখ্যা করতে চাই না, আমি কোন PHP কোডকে স্ব-ব্যাখ্যামূলক বলে মনে করি যদি এটি সঠিকভাবে লেখা হয়। কোড পড়তে শিখুন।

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

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

সুতরাং, চলুন শুরু করা যাক... উদাহরণস্বরূপ, একটি ছোট পরিস্থিতি কল্পনা করা যাক:

ধরা যাক আমাদের ফাইলটি দরকার index.php 2টি ভেরিয়েবল নিয়েছে, উদাহরণস্বরূপ বিড়ালএবং শিল্প, অর্থাৎ index.php?cat=content&art=content. উদাহরণ মধ্যে যাক বিড়াল- বিভাগ, শিল্প- নিবন্ধ, এবং আমরা এখানে উপাদান উপলব্ধ আছে index.php?cat=php&art=info-chpu, কিন্তু আমরা বুঝতে পারি এটি ব্রাউজারের ঠিকানা বারে কতটা কুৎসিত দেখাবে এবং আমাদের উপাদান এখানে উপলব্ধ হতে হবে php/info-chpu. তাই আমাদের সিএনসি প্রয়োজন:

উপস্থাপিত CNC এর প্রধান ভূমিকা .htaccess ফাইলে দেওয়া হয়; এটি সমস্ত কাজ করে। তাই .htaccess ফাইলে কি থাকা উচিত:

পুনরায় লিখুন ইঞ্জিন চালু

এখন আমি .htaccess ফাইলের বিষয়বস্তু ব্যাখ্যা করার চেষ্টা করব। লাইন পুনরায় লিখুন ইঞ্জিন চালু -পুনঃনির্দেশ সক্রিয় করতে ব্যবহৃত হয়, তাই কথা বলতে, আপনার বর্ণনা করা নিয়ম অনুসারে। ব্যবহারকারী php/info-chpu লিঙ্কটি অনুসরণ করে, .htaccess ফাইলের বিষয়বস্তু অবিলম্বে চালু করা হয়, যা দেখে যে অনুরোধ করা লিঙ্ক php/info-chpu নিয়মের সাথে মেলে (.*)/(.*) , যে কারণে এটি অনুরোধ করা ঠিকানাটিকে নিয়মের অংশে ভাগ করে content1/content2এবং তাদের এক্সিকিউটিভ ফাইলে স্থানান্তর করে index.php?cat=content1&art=content2.

এখানেই শেষ. এখন আমাদের যা করতে হবে তা হল "ধরা" এবং আমাদের ব্যবহার করুন index.phpদুটি ভেরিয়েবল বিড়ালএবং শিল্প.

মনোযোগ দিন, আপনি যদি একটি ফাইলের পরিবর্তে পিএইচপি হ্যান্ডলার হিসাবে cgi-bin ব্যবহার করেন htaccessআপনি অবশ্যই আছে htaccess.txt

সবকিছু যতটা সম্ভব সহজ এবং পরিষ্কার। আপনি যদি সাইটের জন্য প্রস্তাবিত CNC ব্যবহার করতে হঠাৎ কোনো সমস্যার সম্মুখীন হন, তাহলে আমি একটি সংরক্ষণাগার ডাউনলোড করার পরামর্শ দিচ্ছি যেখানে সবকিছু কনফিগার করা আছে এবং কাজ করা হয়েছে - সম্ভবত এটি বের করা আপনার পক্ষে সহজ হবে। সংরক্ষণাগারে 3টি ফাইল রয়েছে:

index.php- প্রধান ফাইল

htaccess.txt- Cgi-bin হ্যান্ডলারের জন্য ফাইল

htaccess- অ্যাপাচি হ্যান্ডলারের জন্য ফাইল

আপনার সার্ভারে সংরক্ষণাগারের বিষয়বস্তু আনপ্যাক করুন, এবং উদাহরণের জন্য অনুরোধটি চেষ্টা করুন<ваш_сервер>/trololo/512 বা অন্য কোন,<ваш_сервер>- আপনি যেমন বুঝতে পেরেছেন, এটি লেখার মতো নয়, আমি সেই জায়গাটি নির্দেশ করেছি যেখানে আপনি সংরক্ষণাগারটি আনপ্যাক করবেন এবং যেখান থেকে আপনি ফাইলটি চালাবেন।

যদি আপনার কোন প্রশ্ন থাকে, মন্তব্য লিখুন.

যারা কি এবং কিভাবে বুঝতে পারে না তাদের জন্য।

এই CNC এর পুরো পয়েন্ট হল htaccess ফাইল, কিন্তু এটা ঠিক কি করে?

পুনরায় লিখুন ইঞ্জিন চালু
পুনর্লিখনের নিয়ম ^(.*)/(.*)$ index.php?cat=$1&art=$2 [L]

আমরা বলতে পারি যে এই উদাহরণটি একটি ঠিকানা নেয় যেমন:

এবং এই ধরণের প্রসেসরদের সাপ দেয়:


এবং আমরা ইতিমধ্যেই $_GET["cat"] এবং $_GET["art"] index.php ফাইলে গ্রহণ করেছি, যেটিতে বিভাগ এবং উপাদানের নাম রয়েছে।

নিবন্ধে দেখানো উদাহরণটি ইচ্ছামত পরিবর্তন করা যেতে পারে।

উদাহরণস্বরূপ, আমাদের একটি কাজের ঠিকানা আছে domen.ru/avto.php?cat=sportcars&avto=porshe&model=carreraএবং যদি আমরা এটিকে সিএনসি বানাতে চাই:

তারপর আমরা .htaccess-এ লিখি:

পুনরায় লিখুন ইঞ্জিন চালু
পুনর্লিখনের নিয়ম ^(.*)/(.*)/(.*)$ avto.php?cat=$1&avto=$2&model=$3 [L]

এবং আমরা উপরের কয়েকটি লাইন .htaccess ফাইলে যোগ করার পরে, আমাদের উপাদান ঠিকানায় দর্শকদের জন্য খুলবে:

domen.ru/sportcars/porshe/carrera

অথবা হঠাৎ করে, যদি আমাদের অনেকগুলি পিএইচপি হ্যান্ডলার থাকে, তাহলে আমরা প্রতিটির জন্য .htaccess-এ একটি নিয়ম রাখতে পারি:

পুনরায় লিখুন ইঞ্জিন চালু
পুনর্লিখনের নিয়ম ^avto/(.*)$ avto.php?id=$1 [L]
পুনর্লিখনের নিয়ম ^air/(.*)$ forair.php?id=$1 [L]
পুনর্লিখনের নিয়ম ^flot/(.*)$ waterflot.php?id=$1 [L]

উদাহরণ থেকে আপনি দেখতে পাচ্ছেন যে domen.ru/avto/ দিয়ে শুরু হওয়া সমস্ত অনুরোধ avto.php হ্যান্ডলারে পাঠানো হবে এবং domen.ru/air/ দিয়ে শুরু হওয়া সমস্ত অনুরোধ forair.php হ্যান্ডলারে পাঠানো হবে।

এখন এটা কিছু গুরুত্বপূর্ণ লক্ষনীয় মূল্য! আপনার RewriteRule আগে এই কোডটি রাখুন:

RewriteCond %(REQUEST_FILENAME) !-d
RewriteCond %(REQUEST_FILENAME) !-f

সাইট ফোল্ডারে শারীরিকভাবে সংরক্ষিত স্ট্যাটিক ফোল্ডার এবং ফাইলের অনুরোধ করার সময় এই কোডটি আপনাকে হ্যান্ডলারের কাছে নির্দেশিত হওয়া এড়াতে অনুমতি দেবে।

CNC-এর আরেকটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য, যা কভার করা হয়নি, তা হল আপনার সাইটের এইচটিএমএল কোডের স্টাইল, ছবি ইত্যাদির লিঙ্ক। আসল বিষয়টি হল যে ছবি এবং ফাইলগুলির আপেক্ষিক পাথ আপনি পৃষ্ঠায় সংযুক্ত করবেন তা অবশ্যই সংকলিত করা উচিত। একাউন্টে CNC, যেহেতু ঠিকানার প্রতিটি স্ল্যাশ (/) একটি ফোল্ডার হিসাবে বিবেচিত হবে। ফলস্বরূপ, আপেক্ষিক CNC পাথগুলি "../../" আকারের হবে৷ আমরা সুপারিশ করি যে আপনি আপেক্ষিক ঠিকানাগুলি সম্পর্কে নিবন্ধগুলি পড়ুন যদি আপনি HTML এ তাদের অনুক্রম তৈরি করতে না জানেন। আপনি যদি এটি নিয়ে মাথা ঘামাতে না চান বা আমরা কী বলছি তা বুঝতে না পারলে, সব জায়গায় সম্পূর্ণ পথ সেট করুন, অর্থাৎ ছবির পরিবর্তে:

src="/images/vasya.png"

src="http://site.com/images/vasya.png"

এই ক্ষেত্রে, যেকোন সংখ্যক স্ল্যাশ সহ যেকোন CNC-তে সাইটের ডেটা সঠিকভাবে কল করা হবে। HTML-এ সমস্ত অন্তর্ভুক্ত ফাইলগুলির সাথে একই কাজ করুন।

এখন .htaccess এর মাধ্যমে পুনঃনির্দেশ করার দ্বিতীয় বিকল্প সম্পর্কে কথা বলার সময়। দ্বিতীয় বিকল্পটি সম্পূর্ণরূপে প্রথমটির সাথে আবদ্ধ, তবে এটি htaccess থেকে একটি সর্বজনীন পুনঃনির্দেশ। একটি পুনঃনির্দেশ শুধুমাত্র একটি নিয়ম নিয়ে গঠিত:

পুনর্লিখনের নিয়ম ^(+)$ /engine.php?query=$1 [L]

এই ধরনের একটি পুনঃনির্দেশের সম্পূর্ণ যুক্তি হল যে সম্পূর্ণরূপে http://site.com/ এর পরে সবকিছুই $_GET["query"] ভেরিয়েবলের engine.php হ্যান্ডলারে পাঠানো হবে। এরপর, engine.php-এ আমরা ভেরিয়েবলকে ভাগে ভাগ করতে পারি:

$query=$_GET["query"];

$url = explode("/", $query);

এবং এখন আমাদের কাছে একটি অ্যারে $url রয়েছে যা প্রতিটি ঘরে সম্পূর্ণ পথের অংশ ধারণ করে। উদাহরণস্বরূপ, যদি আমাদের ঠিকানা (কোয়েরি ভেরিয়েবল) এইরকম দেখায়: পরিবহন/অটো/ফেরারি/লাফেরারি/বিবরণ, তারপর প্রক্রিয়াকরণের পরে এটি হবে:

$url="পরিবহন";

$url="auto";

$url="ফেরারি";

$url="laferrary";

$url="description";

এবং প্রক্রিয়াকরণের পরে, আপনি এই ডেটা দিয়ে যেকোন ক্রিয়া সম্পাদন করতে পারেন।

এবং এটি দরকারী হতে পারে: অ্যারের এন্ট্রির সংখ্যা খুঁজে বের করতে, ব্যবহার করুন গণনা($url), অ্যারের শেষ এন্ট্রির মান দেখতে, ব্যবহার করুন শেষ($url).

সিএনসি মেশিন কীভাবে তৈরি করা যায় সেই প্রশ্নের উত্তর সংক্ষেপে দেওয়া যেতে পারে। জেনে রাখা যে একটি বাড়িতে তৈরি সিএনসি মিলিং মেশিন, সাধারণভাবে, একটি জটিল কাঠামো সহ একটি জটিল ডিভাইস, ডিজাইনারের পক্ষে এটি করার পরামর্শ দেওয়া হয়:

  • অঙ্কন অর্জন;
  • নির্ভরযোগ্য উপাদান এবং ফাস্টেনার ক্রয়;
  • একটি ভাল হাতিয়ার প্রস্তুত করুন;
  • দ্রুত উত্পাদন করতে হাতে একটি CNC লেদ এবং ড্রিলিং মেশিন রাখুন।

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

প্রস্তুতিমূলক পর্যায়ে কাজ

একটি ঘরে তৈরি সিএনসি মিলিং মেশিন তৈরি করতে, দুটি বিকল্প রয়েছে:

  1. আপনি অংশগুলির একটি প্রস্তুত-তৈরি চলমান সেট নিন (বিশেষভাবে নির্বাচিত উপাদান), যা থেকে আমরা নিজেই সরঞ্জামগুলি একত্রিত করি।
  2. সমস্ত উপাদান খুঁজুন (তৈরি করুন) এবং আপনার নিজের হাতে একটি CNC মেশিন একত্রিত করা শুরু করুন যা সমস্ত প্রয়োজনীয়তা পূরণ করবে।

উদ্দেশ্য, আকার এবং নকশা (বাড়িতে তৈরি সিএনসি মেশিনের অঙ্কন ছাড়া কীভাবে করবেন) সিদ্ধান্ত নেওয়া গুরুত্বপূর্ণ, এটির তৈরির জন্য ডায়াগ্রামগুলি সন্ধান করা, এর জন্য প্রয়োজনীয় কিছু অংশ ক্রয় বা উত্পাদন করা এবং সীসা স্ক্রুগুলি অর্জন করা গুরুত্বপূর্ণ।

আপনি যদি নিজের হাতে একটি সিএনসি মেশিন তৈরি করার সিদ্ধান্ত নেন এবং উপাদান এবং মেকানিজম, ফাস্টেনারগুলির রেডিমেড সেট ছাড়াই করেন তবে আপনার একটি ডায়াগ্রাম দরকার যা মেশিনটি কাজ করবে।

সাধারণত, ডিভাইসের একটি পরিকল্পিত চিত্র খুঁজে পেয়ে, তারা প্রথমে মেশিনের সমস্ত অংশের মডেল তৈরি করে, প্রযুক্তিগত অঙ্কন প্রস্তুত করে এবং তারপরে লেদ এবং মিলিং মেশিনে পাতলা পাতলা কাঠ বা অ্যালুমিনিয়াম থেকে উপাদানগুলি তৈরি করতে ব্যবহার করে (কখনও কখনও এটি ব্যবহার করা প্রয়োজন। ড্রিলিং মেশিন)। প্রায়শই, কাজের পৃষ্ঠতলগুলি (একটি কাজের টেবিলও বলা হয়) 18 মিমি বেধের পাতলা পাতলা কাঠ।

কিছু গুরুত্বপূর্ণ মেশিন উপাদান সমাবেশ

আপনি নিজের হাতে যে মেশিনটি একত্রিত করতে শুরু করেছেন, আপনাকে বেশ কয়েকটি গুরুত্বপূর্ণ উপাদান সরবরাহ করতে হবে যা কাজের সরঞ্জামটির উল্লম্ব চলাচল নিশ্চিত করে। এই তালিকায়:

  • হেলিকাল গিয়ার - একটি দাঁতযুক্ত বেল্ট ব্যবহার করে ঘূর্ণন প্রেরণ করা হয়। এটি ভাল কারণ পুলিগুলি পিছলে যায় না, মিলিং সরঞ্জামের খাদে সমানভাবে শক্তি স্থানান্তর করে;
  • আপনি যদি একটি মিনি-মেশিনের জন্য একটি স্টেপার মোটর (এসএম) ব্যবহার করেন, তবে একটি বড় প্রিন্টার মডেল থেকে একটি গাড়ি নেওয়ার পরামর্শ দেওয়া হয় - আরও শক্তিশালী; পুরানো ডট ম্যাট্রিক্স প্রিন্টারে মোটামুটি শক্তিশালী বৈদ্যুতিক মোটর ছিল;

  • একটি থ্রি-অর্ডিনেট ডিভাইসের জন্য, আপনার তিনটি এসডির প্রয়োজন হবে। প্রতিটিতে 5টি নিয়ন্ত্রণ তার থাকলে এটি ভাল, মিনি-মেশিনের কার্যকারিতা বাড়বে। এটি পরামিতিগুলির মাত্রা মূল্যায়নের মূল্য: এক ধাপে সরবরাহ ভোল্টেজ, উইন্ডিং প্রতিরোধ এবং মোটর ঘূর্ণন কোণ। প্রতিটি স্টেপার মোটর সংযোগ করতে আপনার একটি পৃথক নিয়ামক প্রয়োজন;
  • স্ক্রুগুলির সাহায্যে, মোটর থেকে ঘূর্ণনশীল আন্দোলন রৈখিক রূপান্তরিত হয়। উচ্চ নির্ভুলতা অর্জনের জন্য, অনেকে বল স্ক্রু (বল স্ক্রু) থাকা প্রয়োজন বলে মনে করেন, তবে এই উপাদানটি সস্তা নয়। মাউন্ট ব্লকের জন্য বাদাম এবং মাউন্টিং স্ক্রুগুলির একটি সেট নির্বাচন করার সময়, এগুলিকে প্লাস্টিকের সন্নিবেশ দিয়ে চয়ন করুন, এটি ঘর্ষণকে হ্রাস করে এবং প্রতিক্রিয়া দূর করে;

  • একটি স্টেপার মোটরের পরিবর্তে, আপনি একটু পরিবর্তনের পরে একটি নিয়মিত বৈদ্যুতিক মোটর নিতে পারেন;
  • একটি উল্লম্ব অক্ষ যা টুলটিকে 3D তে সরানোর অনুমতি দেয়, পুরো এক্স-রে টেবিলকে কভার করে। এটি অ্যালুমিনিয়াম প্লেট থেকে তৈরি করা হয়। এটি গুরুত্বপূর্ণ যে অক্ষের মাত্রাগুলি ডিভাইসের মাত্রার সাথে সামঞ্জস্য করা হয়। আপনি যদি একটি muffle চুল্লি আছে, অক্ষ অঙ্কন মাত্রা অনুযায়ী নিক্ষেপ করা যেতে পারে.

নীচে তিনটি অনুমানে একটি অঙ্কন তৈরি করা হয়েছে: সাইড ভিউ, রিয়ার ভিউ এবং টপ ভিউ।

বিছানায় সর্বোচ্চ মনোযোগ

মেশিনের প্রয়োজনীয় অনমনীয়তা বিছানা দ্বারা প্রদান করা হয়। এটিতে একটি চলমান পোর্টাল, একটি রেল গাইড সিস্টেম, একটি মোটর, একটি কাজের পৃষ্ঠ, একটি জেড অক্ষ এবং একটি টাকু ইনস্টল করা আছে।

উদাহরণস্বরূপ, একটি বাড়িতে তৈরি সিএনসি মেশিনের একজন নির্মাতা Maytec অ্যালুমিনিয়াম প্রোফাইল থেকে একটি সমর্থনকারী ফ্রেম তৈরি করেছেন - দুটি অংশ (বিভাগ 40x80 মিমি) এবং দুটি শেষ প্লেট একই উপাদান থেকে 10 মিমি পুরু, অ্যালুমিনিয়াম কোণগুলির সাথে উপাদানগুলিকে সংযুক্ত করে। কাঠামোটি শক্তিশালী করা হয়েছে; ফ্রেমের ভিতরে একটি বর্গক্ষেত্রের আকারে ছোট প্রোফাইল দিয়ে তৈরি একটি ফ্রেম রয়েছে।

ফ্রেম ঢালাই জয়েন্টগুলোতে ব্যবহার ছাড়া মাউন্ট করা হয় (ঝালাই seams খারাপভাবে কম্পন লোড সহ্য করতে সক্ষম)। টি-বাদাম বন্ধন হিসাবে ব্যবহার করা ভাল। শেষ প্লেট সীসা স্ক্রু মাউন্ট করার জন্য একটি ভারবহন ব্লক ইনস্টলেশনের জন্য প্রদান করে। আপনার একটি প্লেইন বিয়ারিং এবং একটি স্পিন্ডেল বিয়ারিং লাগবে।

কারিগর নির্ধারণ করেছিলেন যে স্ব-তৈরি সিএনসি মেশিনের প্রধান কাজটি ছিল অ্যালুমিনিয়াম যন্ত্রাংশ তৈরি করা। যেহেতু 60 মিমি সর্বোচ্চ বেধের ওয়ার্কপিসগুলি তার জন্য উপযুক্ত ছিল, তাই তিনি পোর্টাল ক্লিয়ারেন্স 125 মিমি (এটি উপরের ক্রস বিম থেকে কাজের পৃষ্ঠের দূরত্ব)।

এই কঠিন ইনস্টলেশন প্রক্রিয়া

ঘরের তৈরি সিএনসি মেশিনগুলিকে একত্রিত করা ভাল, উপাদানগুলি প্রস্তুত করার পরে, অঙ্কন অনুসারে কঠোরভাবে যাতে তারা কাজ করে। সীসা স্ক্রু ব্যবহার করে সমাবেশ প্রক্রিয়া নিম্নলিখিত ক্রমে সঞ্চালিত করা উচিত:

  • একজন জ্ঞানী কারিগর শরীরে প্রথম দুটি মোটর সংযুক্ত করে শুরু করেন - সরঞ্জামের উল্লম্ব অক্ষের পিছনে। একটি মিলিং হেড (রেল গাইড) এর অনুভূমিক আন্দোলনের জন্য দায়ী এবং দ্বিতীয়টি উল্লম্ব সমতলে চলাচলের জন্য দায়ী;
  • X অক্ষ বরাবর একটি চলমান পোর্টাল মিলিং স্পিন্ডেল এবং সমর্থন (z অক্ষ) বহন করে। পোর্টালটি যত বেশি, ওয়ার্কপিসটি তত বেশি প্রক্রিয়া করা যেতে পারে। কিন্তু একটি উচ্চ পোর্টালে, প্রক্রিয়াকরণের সময়, উদীয়মান লোডগুলির প্রতিরোধ হ্রাস পায়;

  • জেড-অক্ষ মোটর এবং রৈখিক গাইডগুলিকে বেঁধে রাখার জন্য, সামনে, পিছনে, উপরের, মধ্য এবং নীচের প্লেটগুলি ব্যবহার করা হয়। সেখানে মিলিং টাকু জন্য একটি দোলনা করা;
  • ড্রাইভটি সাবধানে নির্বাচিত বাদাম এবং স্টাড থেকে একত্রিত হয়। মোটর শ্যাফ্ট ঠিক করতে এবং স্টাডের সাথে সংযুক্ত করতে, একটি পুরু বৈদ্যুতিক তারের রাবার উইন্ডিং ব্যবহার করুন। ফিক্সেশন একটি নাইলন হাতা মধ্যে ঢোকানো screws হতে পারে.

তারপরে বাড়ির তৈরি পণ্যের অবশিষ্ট উপাদান এবং সমাবেশগুলির সমাবেশ শুরু হয়।

আমরা মেশিনের ইলেকট্রনিক ফিলিং ইনস্টল করি

আপনার নিজের হাতে একটি সিএনসি মেশিন তৈরি করতে এবং এটি পরিচালনা করতে, আপনাকে সঠিকভাবে নির্বাচিত সংখ্যাসূচক নিয়ন্ত্রণ, উচ্চ-মানের মুদ্রিত সার্কিট বোর্ড এবং ইলেকট্রনিক উপাদানগুলি (বিশেষত যদি সেগুলি চীনা হয়) দিয়ে পরিচালনা করতে হবে, যা আপনাকে সমস্ত কার্যকারিতা বাস্তবায়নের অনুমতি দেবে। CNC মেশিন, একটি জটিল কনফিগারেশনের একটি অংশ প্রক্রিয়াকরণ।

ব্যবস্থাপনা সমস্যা এড়াতে, বাড়িতে তৈরি সিএনসি মেশিনের উপাদানগুলির মধ্যে নিম্নলিখিত উপাদান রয়েছে:

  • স্টেপার মোটর, কিছু থেমে গেছে যেমন নেমা;
  • LPT পোর্ট, যার মাধ্যমে CNC কন্ট্রোল ইউনিট মেশিনের সাথে সংযুক্ত করা যেতে পারে;
  • নিয়ন্ত্রকদের জন্য ড্রাইভার, তারা একটি মিনি-মিলিং মেশিনে ইনস্টল করা হয়, ডায়াগ্রাম অনুসারে সংযোগ করে;

  • সুইচিং বোর্ড (নিয়ন্ত্রক);
  • একটি স্টেপ-ডাউন ট্রান্সফরমার সহ 36V পাওয়ার সাপ্লাই ইউনিট যা কন্ট্রোল সার্কিটকে পাওয়ার জন্য 5V তে রূপান্তরিত করে;
  • ল্যাপটপ বা পিসি;
  • জরুরী স্টপ জন্য দায়ী বোতাম.

শুধুমাত্র এর পরে, সিএনসি মেশিনগুলি পরীক্ষা করা হয় (এই ক্ষেত্রে, কারিগর এটির একটি পরীক্ষা চালাবে, সমস্ত প্রোগ্রাম লোড করবে), এবং বিদ্যমান ত্রুটিগুলি চিহ্নিত করা হয় এবং নির্মূল করা হয়।

উপসংহারের পরিবর্তে

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

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

একটি duralumin ফাঁকা CNC ব্যবহার করে প্রক্রিয়া করা হয়. এই জাতীয় মেশিনের সাহায্যে, যা একজন কারিগর দ্বারা একত্রিত হয়েছিল, আপনি প্রচুর মিলিংয়ের কাজ করতে পারেন।

একত্রিত মেশিনের আরেকটি উদাহরণ, যেখানে একটি ফাইবারবোর্ড বোর্ড একটি কাজের টেবিল হিসাবে ব্যবহৃত হয় যার উপর একটি মুদ্রিত সার্কিট বোর্ড তৈরি করা যেতে পারে।

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

নোট:সাইটের অভিযোজিত সংস্করণ সক্রিয় করা হয়েছে, যা স্বয়ংক্রিয়ভাবে আপনার ব্রাউজারের ছোট আকারের সাথে খাপ খায় এবং পড়ার সুবিধার জন্য সাইটের কিছু বিবরণ লুকিয়ে রাখে। দর্শন উপভোগ কর!

হ্যালো প্রিয় অতিথি এবং ব্লগের নিয়মিত পাঠকরা ওয়েবসাইট তৈরি সম্পর্কে - সাইটচালু! এই বিভাগে আগের একটি নিবন্ধে, আমি আপনাকে বলার প্রতিশ্রুতি দিয়েছিলাম কিভাবে আপনি মাত্র কয়েক মিনিটের মধ্যে আপনার নিজস্ব CNC লিঙ্ক তৈরি করতে পারেন। নিবন্ধটি আপনার কাছে বিশাল এবং কিছুর জন্য জটিল বলে মনে হতে পারে তা সত্ত্বেও, আমি আশা করি আপনি যখন এটি শেষ পর্যন্ত পড়বেন, তখন আপনি একমত হবেন যে একটি সিএনসি তৈরিতে সত্যিই অতিপ্রাকৃত কিছুই নেই।

সিএনসি- এটি একটি বিকৃত ইংরেজি সংক্ষেপণ (সার্চ ইঞ্জিন বন্ধুত্বপূর্ণ url)। এটি সার্চ ইঞ্জিন বন্ধুত্বপূর্ণ লিঙ্ক ঠিকানা নির্দেশ করে. আমি একটি নিবন্ধে CNC সম্পর্কেও লিখেছিলাম। রাশিয়ান সংস্করণে, SEF URL কে CNC - মানুষের-পাঠযোগ্য url হিসাবে লেখা হয়। এই সবকিছুর অর্থ কী? এর মানে হল যে আপনার লিঙ্কগুলির ঠিকানাগুলিতে সচেতন পাঠ্য থাকবে, এবং প্রযুক্তিগত আবর্জনা নয়; উদাহরণস্বরূপ, আপনি উপরের লিঙ্কটি অনুসরণ করতে পারেন।

SEF URL এর সুবিধা কি কি?

দ্বিতীয়ত, এসইও। এই ধরনের লিঙ্কগুলি সার্চ ইঞ্জিন দ্বারা স্বাগত জানানো হয়; কয়েক বছর আগে তারা আপনাকে আপনার প্রতিযোগীদের তুলনায় একটি উল্লেখযোগ্য সুবিধা দিতে পারত। আজ, এই ধরনের লিঙ্কগুলিকে মঞ্জুরি হিসাবে নেওয়া হয়; এখন আপনি খুব কমই নন-সিএনসি লিঙ্ক সহ সাইটগুলি দেখতে পান, তবে সেগুলি এখনও বিদ্যমান।

তৃতীয়, এই প্রতিপত্তি. আমি যখন এমন সাইটগুলিতে যাই যেখানে, একটি পরিষ্কার এবং সুন্দর ঠিকানার পরিবর্তে, লিঙ্কগুলিতে সমস্ত ধরণের আবর্জনা বা এমনকি শ্রেণীবদ্ধ তথ্য থাকে, তখন আমি নিজেকে প্রশ্ন করি: "এটি একটি শালীন সাইট বলে মনে হচ্ছে, কিন্তু কেন ডেভেলপাররা তৈরি করেননি? একটি সিএনসি? এটা কি সত্যিই কঠিন ছিল? হতে পারে তারা এই ধরনের জিনিসগুলিকে পাত্তা দেয় না বা কেবল জ্ঞান এবং দক্ষতার অভাব রয়েছে?" সাধারণভাবে, এই ধরনের সাইটগুলি আমার কাছে একটি বড় রহস্য।

চতুর্থত, নিরাপত্তা। CNC লিঙ্ক সহ সাইটগুলিতে তাদের ঠিকানায় GET () পদ্ধতি দ্বারা প্রেরিত প্রযুক্তিগত তথ্য থাকে না, যা সহজেই সাইটটিকে হ্যাক করতে ব্যবহার করা যেতে পারে।

এবং অবশেষে: CNC – নেভিগেশন একটি উপায় হিসাবে. যদি লিঙ্কটি ব্যবহারকারীর কাছে পরিষ্কার হয়, তাহলে তিনি কেবলমাত্র আপনার URL সম্পাদনা করে সাইটের বিভাগগুলিতে নেভিগেট করতে পারেন৷ উদাহরণ স্বরূপ:

http://site/useful/2-sublime-text-2

Http://site/useful/ অপশন +SymLinksIfOwnerMatch

পুনরায় লিখুন ইঞ্জিন চালু

আমাদের নিম্নলিখিত .htaccess ফাইল আছে:

mod_rewrite শর্তাবলী

সমস্ত নিয়ম কমান্ড ব্যবহার করে লেখা হয় পুনর্লিখনের নিয়ম, একটি স্পেস দ্বারা অনুসরণ এবং লিখিত নমুনাআপনার সিএনসি রেগুলার এক্সপ্রেশন ব্যবহার করে, তারপর অন্য স্পেস দিন এবং যে লাইনে আমরা এই টেমপ্লেটটি রূপান্তর করতে চাই সেটি নির্দেশ করুন, যেখানে $1,$2,...$n হল আমাদের ভেরিয়েবল। আপনি উপরের লিঙ্কে এবং পরে এই নিবন্ধে এটি সম্পর্কে আরও জানতে পারেন। আসুন একটি উদাহরণ দেখি:

পুনর্লিখনের নিয়ম ^ দরকারী/(*) /index.php?category=useful&article=$1

কোথায় ^উপযোগী/(*)- এটি প্রত্যাশিত ইউআরএল টেমপ্লেট,

/index.php?category=useful&article=$1- যদি ইনকামিং ইউআরএল টেমপ্লেটের সাথে মেলে তাহলে আমরা এটিকে রূপান্তর করি।

যার মধ্যে $1 যা লেখা আছে তার সমান বন্ধনী, এটাই $1 = * যদি বন্ধনী 2 বার প্রদর্শিত হয়, তাহলে আমাদের ভেরিয়েবল $1 এবং $2 থাকবে, যদি বন্ধনী 3 বার প্রদর্শিত হয়, তাহলে ভেরিয়েবল $1, $2, $3 ইত্যাদি। এই ক্ষেত্রে, ভেরিয়েবলগুলি একই ক্রমে তৈরি করা হয় যেভাবে বন্ধনীগুলি প্রদর্শিত হয়।

এটা পরিস্কার? - সাবাশ. অস্পষ্ট? - চলুন, আমরা এটিতে ফিরে আসব। আমি আপনার দৃষ্টি আকর্ষণ করতে চাই যে নিবন্ধটি আরও ভালভাবে বোঝার জন্য, আপনার ইতিমধ্যেই পিএইচপি সম্পর্কে প্রাথমিক জ্ঞান থাকা উচিত, পাশাপাশি GET এবং POST পদ্ধতিগুলির সাথে কাজ করা উচিত। চল অবিরত রাখি.

আমাদের হ্যান্ডলারের জন্য, অর্থাৎ, mod_rewriteঅযথা প্রতিবার কাজ করেনি, আমরা আছি পুনর্লিখনের নিয়মআমরা টেমপ্লেট নির্দেশ করি যে ইনকামিং URL গুলি অবশ্যই মিলবে৷ যদি URL প্যাটার্নের সাথে মেলে না, তাহলে mod_rewrite সহজভাবে কাজ করবে না এবং আগত SEF URL কে একটি URL-এ রূপান্তর করবে না যার সাথে আমরা কাজ করতে পারি।

অর্থাৎ, এই পর্যায়ে আপনার জন্য খুব সারমর্মটি বোঝা গুরুত্বপূর্ণ: CNC লিঙ্কগুলিতে পরামিতিগুলি পাস করা হয় না এবং প্যারামিটার ছাড়া আমরা এই লিঙ্কটি দিয়ে PHP-তে কিছু করতে পারি না, তাই mod_rewrite ব্যবহার করে আমরা রূপান্তর করি পরামিতি ছাড়া CNC লিঙ্কভি পরামিতিগুলির সাথে CNC লিঙ্ক নয়. পরামিতি কি? উপরের উদাহরণে আমাদের 2টি পরামিতি রয়েছে:

/index.php?category=useful&article=$1

প্যারামিটার বিভাগএবং প্যারামিটার নিবন্ধ.

আবার, আমি আপনার দৃষ্টি আকর্ষণ করতে চাই যে আপনার ইতিমধ্যেই পরামিতিগুলি সম্পর্কে জানা উচিত; আমি আপনাকে সংক্ষেপে স্মরণ করিয়ে দিয়েছি।

টেমপ্লেট আমরা ব্যবহার করতে পারেন প্রতীকএবং চরিত্রের ক্লাস. বিন্দু প্রতীক একেবারে কোনো প্রতীক প্রতিনিধিত্ব করে.

  • . - যে কোনো একক চরিত্র
  • একটি চরিত্রের শ্রেণী। তালিকাভুক্ত অক্ষরগুলির মধ্যে একটির উপস্থিতি নির্দেশ করে, কেস সংবেদনশীল৷
  • - চরিত্রের শ্রেণী। এর মধ্যে একটি প্রতীকের উপস্থিতি নির্দেশ করে আগে z, অর্থাৎ সমগ্র ইংরেজি বর্ণমালা।
  • - একই জিনিস, শুধুমাত্র কেস বিবেচনা না করে, অর্থাৎ, বড় এবং ছোট উভয় অক্ষর সহ সমগ্র বর্ণমালা।
  • এছাড়াও আপনি সংখ্যা ব্যবহার করতে পারেন:
  • স্বাভাবিকভাবেই, সবকিছু একত্রিত করা যেতে পারে:
  • [^রিউফাদ]– একটি অক্ষর শ্রেণী, কিন্তু বর্গাকার বন্ধনীর ভিতরে একটি ^ চিহ্ন সহ নির্দেশ করে যে প্যাটার্নে এই অক্ষরগুলি থাকা উচিত নয়৷
  • সাইট|উদ্ধৃত করুন- একটি বিকল্প নির্দেশ করে: সাইট বা উদ্ধৃতি উপযুক্ত।

কোয়ান্টিফায়ার বা কোয়ান্টিফায়ার

পূর্ববর্তী সমস্ত উদাহরণ একটি অক্ষর (এক ইউনিট) নির্দেশ করে, তবে আমরা যদি দেখাতে চাই যে এই ব্যবধান থেকে একটি নয়, তবে যতগুলি অক্ষর থাকতে পারে। এটি করার জন্য আমাদের অবশ্যই কোয়ান্টিফায়ার ব্যবহার করতে হবে:

  • ? - আগের টেক্সট থেকে 0 বা 1 অক্ষর (অক্ষর শ্রেণী, প্রতীক, ইত্যাদি)
  • * — 0 বা পূর্ববর্তী টেক্সট থেকে অক্ষরের সংখ্যা (n>0)
  • + — 1 বা পূর্ববর্তী টেক্সট থেকে অক্ষরের যে কোনো সংখ্যা (n>1)
  • (n)— ঠিক n অক্ষর, যেখানে n একটি নির্দিষ্ট সংখ্যা।

উদাহরণ স্বরূপ:

  • {4} - পূর্ববর্তী পাঠ্য থেকে ঠিক 4 অক্ষর হতে হবে।
  • {4,5} - 4 বা 5 অক্ষর
  • {,6} — শূন্য থেকে ৬টি অক্ষর
  • {4,} — 4 থেকে অনন্ত অক্ষর পর্যন্ত

একটি উদাহরণ আমাদের ইতিমধ্যে বিখ্যাত লাইন:

পুনরায় লেখার নিয়ম ^ দরকারী/(*)

যেটিতে আমরা ক্যারেক্টার ক্লাসের পরে কোয়ান্টিফায়ার (পরিমাণকারী) তারকাচিহ্ন (*) প্রয়োগ করেছি। এর মানে হল যে আমাদের ইউআরএল পরে দরকারী/যেকোন সংখ্যায় a থেকে z পর্যন্ত চিহ্ন থাকতে পারে এবং স্বাভাবিকভাবেই, যেকোনো ক্রমানুসারে, অথবা সেগুলি একেবারেই নাও থাকতে পারে। আমরা ডোমেনকে বিবেচনায় নিই না, এটি নিজেই বোঝানো হয়।

শিল্ডিং

এছাড়াও, একটি টেমপ্লেট তৈরি করার সময়, সম্পর্কে ভুলবেন না। আপনি যদি একটি ক্যারেক্টার ক্লাসে একটি ডট ক্যারেক্টার ঢেকে দিতে চান, তাহলে আপনাকে এটিকে এড়িয়ে চলতে হবে, যেহেতু একটি ডট (পরিষেবা অক্ষর) এড়িয়ে যাওয়া ছাড়াই মানে একেবারে যেকোন অক্ষর:

একই বর্গাকার বন্ধনীতে প্রযোজ্য, তারা একটি অক্ষর শ্রেণী নির্দেশ করে, তাই যদি আপনার url এ বর্গাকার বন্ধনী থাকতে পারে, তাহলে তাদের এড়িয়ে যেতে হবে:

লাইন সীমাবদ্ধতার শুরু এবং শেষ (মার্কার)

একটি লাইনের শুরু বা শেষ নির্দেশ করতে, ডোমেন নির্বিশেষে, নিম্নলিখিত চিহ্নগুলি ব্যবহার করা হয়:

  • ^ - URL এর শুরু
  • $ - URL এর শেষ

অর্থাৎ, আমাদের প্রথম উদাহরণে, আমরা নির্দেশ করেছি যে আমাদের টেমপ্লেটটি URL-এর শুরু থেকে ঠিক শুরু হয়, এবং কোথাও থেকে নয় (মাঝ থেকে, শেষ থেকে):

পুনর্লিখনের নিয়ম ^ দরকারী/()

আপনার দৃষ্টি আকর্ষণবিভ্রান্ত হবেন না যে বর্গাকার বন্ধনীর ভিতরে ^ চিহ্নের অর্থ হল অস্বীকার!

mod_rewrite-এ প্রতিক্রিয়া

$n- এটি বন্ধনীতে আমাদের "পরিবর্তনশীল", আমরা ইতিমধ্যে তাদের সম্পর্কে কথা বলেছি। RewriteRule এর জন্য কাজ করে।

%n- একই জিনিস, শুধুমাত্র মধ্যে RewriteCond. আমরা এখনও রিরাইটকন্ডের দিকে তাকাইনি, এটি আমাদের সামনে।

তাই যদি পুনর্লিখনের নিয়মতাহলে আমাদের URL অনুবাদের নিয়ম RewriteCond- এটি একটি শর্ত, এর একটি অ্যানালগ। RewriteCond এমন পরিস্থিতিতে প্রয়োজন যেখানে কিছু শর্ত পূরণ হলেই আপনাকে একটি URL রূপান্তর (RewriteRule) করতে হবে।

সার্ভারের নিজস্ব ভেরিয়েবল রয়েছে যা আমরা আমাদের RewriteCond শর্তে ব্যবহার করতে পারি:

HTTP শিরোনাম:
HTTP_USER_AGENT
HTTP_REFERER
HTTP_COOKIE
HTTP_FORWARDED
HTTP_HOST
HTTP_PROXY_CONNECTION
HTTP_ACCEPT REMOTE_ADDR

সংযোগ এবং অনুরোধ:

দূরবর্তী হোস্ট
REMOTE_USER
REMOTE_IDENT
REQUEST_METHOD
SCRIPT_FILENAME
PATH_INFO
QUERY_STRING
AUTH_TYPE

সার্ভার রুমের ভিতরে:

DOCUMENT_ROOT
SERVER_ADMIN
সার্ভার নাম
SERVER_ADDR
সার্ভারের পোর্ট
SERVER_PROTOCOL
SERVER_SOFTWARE

পদ্ধতি:

TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
টাইম

বিশেষ:

API_VERSION
অনুরোধ
REQUEST_URI
REQUEST_FILENAME
IS_SUBREQ

সার্ভার ভেরিয়েবল ব্যবহার করার জন্য সিনট্যাক্স হল:

%(পরিবর্তনশীল)

আসুন আমাদের প্রথম শর্ত তৈরি করি:

RewriteCond %(HTTP_USER_AGENT) ^Mozilla.* RewriteRule …

যদি ভিজিটর মজিলা ফায়ারফক্স ব্রাউজার থেকে আসে, তাহলে আমরা নিম্নলিখিত নিয়মটি কার্যকর করি। আপনি দেখতে পাচ্ছেন, PHP এর বিপরীতে, আমরা আমাদের নিয়ম ফ্রেম করার জন্য কোঁকড়া ধনুর্বন্ধনী ব্যবহার করি না, যা শর্তটি সত্য হলে কার্যকর করা হবে।

RewriteCond আপনাকে তুলনা অপারেটর ব্যবহার করতে দেয়:< (меньше), >(এর চেয়ে বড়), = (সমান)। এছাড়াও বিশেষ অর্থ রয়েছে, উদাহরণস্বরূপ:

  • -d (এটি একটি ডিরেক্টরি)
  • -f (এটি একটি ফাইল)
  • -s (ফাইলটি অ-শূন্য আকারের কিনা)
  • ! - অস্বীকার।

পতাকা

  • nocase|NC- আপনি nocase বা NC লিখতে পারেন, এটি একই জিনিস, এর অর্থ কেস-সংবেদনশীল। অর্থাৎ, আমরা আর লিখতে পারি না:
পুনর্লিখনের নিয়ম ^ দরকারী/

পরিবর্তে এটি লিখুন:

পুনর্লিখনের নিয়ম ^ দরকারী/

  • ornext|OR- যদি এই বা নিম্নলিখিত শর্তটি সত্য হয়, তাহলে আমরা RewriteRule কার্যকর করি। উদাহরণ:
  • RewriteCond %(REMOTE_HOST) ^host1.* RewriteCond %(REMOTE_HOST) ^host2.* RewriteCond %(REMOTE_HOST) ^host3.* RewriteRule …
  • শেষ|এল- শেষ নিয়ম। যদি নিয়মটি প্রয়োগ করা হয়, তাহলে কোডের নীচে অবস্থিত নিয়মগুলি কাজ করবে না।
  • পরবর্তী|এন– চালিয়ে যাওয়ার কিছু অ্যানালগ। যদি নিয়মটি প্রয়োগ করা হয়, তবে এটি সমস্ত নিয়মগুলিকে প্রথম থেকেই প্লে করতে বাধ্য করে, তবে ইতিমধ্যে রূপান্তরিত স্ট্রিং সহ।
  • রিডাইরেক্ট|আর- পুনঃনির্দেশ। ডিফল্ট হল 302৷ আপনি একটি ভিন্ন পুনঃনির্দেশ কোড নির্দিষ্ট করতে পারেন, উদাহরণস্বরূপ:
  • নিষিদ্ধ|F- URLটি নিষিদ্ধ হয়ে যায়।
  • চলে গেছে|জি- একটি 410 সার্ভার প্রতিক্রিয়া পাঠায়।
  • চেইন|C- সংযোগ। যদি একটি নিয়ম ফায়ার না হয়, তাহলে এর সাথে সম্পর্কিত নিয়মগুলি স্বয়ংক্রিয়ভাবে কাজ করবে না।
  • টাইপ|টি- MIME ধরণ. ফাইল টাইপ জোরপূর্বক সেটিং. আপনি একটি ফাইল এক্সটেনশনকে অন্য হিসাবে পাস করতে পারেন :) উদাহরণস্বরূপ, আমাদের কাছে এক্সটেনশন .zip সহ ফাইল রয়েছে, কিন্তু আসলে সেগুলি ছবি, তাই এই ফাইলগুলিকে ছবি হিসাবে দিতে (.png, .gif, ইত্যাদি), আপনি করতে পারেন এই পতাকা ব্যবহার করুন।
  • স্কিপ|এস- পরবর্তী নিয়মটি এড়িয়ে যান, আপনি একবারে বেশ কয়েকটি নির্দিষ্ট করতে পারেন, উদাহরণস্বরূপ:
  • env|E=VAR:VAL- পরিবেশ পরিবর্তনশীল সেট করুন।
  • কুকি|CO- কুকি পাঠান।
  • আপনি যদি একই সময়ে বেশ কয়েকটি পতাকা সেট করতে চান তবে সেগুলিকে কমা দিয়ে আলাদা করুন, উদাহরণস্বরূপ:

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

    mod_rewrite ব্যবহার করার লাইভ উদাহরণ

    সুতরাং, আমার .htaccess ফাইলটি দেখতে এইরকম:

    বিকল্পগুলি +SymLinksIfOwnerMatch রিরাইট ইঞ্জিন চালু৷
    RewriteCond %(HTTP_HOST) ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1
    RewriteCond %(HTTP_HOST) ^[^www\.].*$ RewriteRule ^/?(+)/?$ /index.php?article=$1 [L]

    কি হচ্ছে এই ভয়াবহতার মধ্যে? শুরুতে, আমি পরীক্ষা করে দেখছি যে পুরানো-বিদ্যালয়ের ব্যক্তি www দিয়ে আমার ঠিকানা টাইপ করেছেন কিনা; যদি তার থাকে, তাহলে আমি তাকে একই ঠিকানায় পুনঃনির্দেশিত করি, শুধুমাত্র www ছাড়াই। নিম্নলিখিত নিবন্ধগুলির মধ্যে একটিতে ঠিক কেন এটির প্রয়োজন তা আমি লিখব; সংক্ষেপে, SEO এর জন্য। www থেকে নন-www-তে পুনঃনির্দেশ করার পরে, আমাদের .htaccess ফাইলটি আবার পড়া হয়েছে, তাই সবকিছু আবার শুরু হয়: আমরা www এর সাথে একটি URL পেয়েছি কিনা তা পরীক্ষা করি, এবার - না। পরবর্তী (দ্বিতীয় RewriteCond) আমরা পরীক্ষা করি যে আমাদের URL প্রকৃতপক্ষে www ছাড়া আছে কিনা, তারপর আমরা রূপান্তর করি, যথা: আমরা নিবন্ধের প্যারামিটারে সম্পূর্ণ URL (ডোমেন নাম ছাড়া) লিখি।

    এই মুহুর্তে, .htaccess এর কাজ শেষ হয় এবং পিএইচপি ছবিতে আসে। নিম্নলিখিত কোড index.php এ অবস্থিত:

    যদি (!খালি($_GET["নিবন্ধ"]))( // শূন্যতার জন্য নিবন্ধের পরামিতি পরীক্ষা করুনস্যুইচ($_GET["আর্টিকেল"])( case "value1": $page = "আমাদের পৃষ্ঠার php file1 এর পথ"; break; case "value2": $page = "আমাদের পৃষ্ঠার php file2 এর পথ";ব্রেক ; case "value3": $page = "আমাদের পৃষ্ঠার php file3 এর পথ";break; ... ) $page অন্তর্ভুক্ত করে; // প্রাপ্ত নিবন্ধ পরামিতির উপর নির্ভর করে প্রয়োজনীয় ফাইলটি সংযুক্ত করুন }

    আমি প্রদত্ত লিঙ্কে নিবন্ধে এটি কীভাবে কাজ করে সে সম্পর্কে বিস্তারিত লিখেছি। এটা, ভদ্রমহিলা এবং ভদ্রলোক! অবশেষে, আমাদের নিবন্ধটি তার যৌক্তিক উপসংহারে এসেছে, এবং এখন আপনি আপনার অর্জিত জ্ঞান অনুশীলন করতে পারেন। আমি একটি নতুন নিবন্ধ প্রকাশের আগে আপনাকে বিদায় জানাচ্ছি, এবং অবশেষে আমি আপনাকে একটি আকর্ষণীয় উদ্ধৃতি দিতে চাই:

    “অনেক টন উদাহরণ এবং ডকুমেন্টেশন সত্ত্বেও, mod_rewrite হল Voodoo. অভিশপ্ত শীতল ভুডু, কিন্তু তবুও ভুডু।"

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

    অতএব, ওয়েব ডেভেলপমেন্টের জগতে, CNC লিঙ্ক শব্দটি উপস্থিত হয়েছিল। এটি কী এবং কীভাবে এটি বাস্তবায়ন করা যায় তা নিবন্ধে আলোচনা করা হবে।

    CNC লিংক কি?

    সাধারণভাবে, CNC হল একটি অপবাদ শব্দ যার অর্থ একটি মানব-পঠনযোগ্য URL। URL - ইংরেজি URL থেকে ধার করা, একটি ইউনিফর্ম রিসোর্স লোকেটার। মানুষ-পাঠযোগ্য, এর অর্থ হল ঠিকানা বারে অক্ষরের একটি সেট যা সুবিধাজনক এবং বোঝা সহজ। উদাহরণস্বরূপ, উত্পন্ন পৃষ্ঠার ঠিকানাটি এইরকম দেখতে পারে: http://example.com/index.php?page=name৷ এটি খুব স্পষ্ট দেখায় না এবং সাইটের গঠন দেখায় না। এমন কিছু চিহ্ন রয়েছে যা শব্দার্থগত বোঝা বহন করে না এবং পৃষ্ঠা এবং নামের অর্থ কী তা স্পষ্ট নয়।

    নিচের ইউআরএলটি দেখতে এরকম হতে পারে: http://example.com/products/new/boat। এটা এখানে পরিষ্কার যে আমরা পণ্য সম্পর্কে কথা বলছি, এবং এটিতে নতুনগুলি এবং বিশেষত একটি নৌকা সম্পর্কে। এটি একটি মানুষের পাঠযোগ্য URL৷ এটি সার্চ ইঞ্জিন দ্বারা অনেক ভাল সূচীকৃত এবং বাকিগুলির উপরে অনুসন্ধান ফলাফলে দেখানো হয়। এবং যে ব্যক্তি সাইটটি ভিজিট করবেন তিনি বুঝতে পারবেন যে তিনি ঠিক সঠিক বিভাগে প্রবেশ করেছেন।

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

    ট্রান্সলিটারেশন এবং মানব-পাঠযোগ্য URL-এ রূপান্তর বাস্তবায়ন করতে, বিশেষ সরঞ্জাম ব্যবহার করা হয়। এগুলি একটি নিয়ম হিসাবে, বিষয়বস্তু ব্যবস্থাপনা সিস্টেমে উপলব্ধ - সিএমএস। CNC লিঙ্কগুলি স্বয়ংক্রিয়ভাবে তৈরি হয়, পণ্যের নাম, নিবন্ধ বা ব্লগের পাশাপাশি এটি যে বিভাগে পোস্ট করা হয়েছে তার উপর ভিত্তি করে। ফলস্বরূপ, একটি নতুন রেকর্ড তৈরি করার সময় বা একটি পণ্য যোগ করার সময়, একটি মানব-পঠনযোগ্য URL তৈরি হয়, যা মানুষ এবং মেশিন উভয়ই ভালভাবে উপলব্ধি করে৷

    জনপ্রিয় সিএমএসে কীভাবে সিএনসি লিঙ্ক তৈরি করবেন

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

    প্রায় সব কন্টেন্ট ম্যানেজমেন্ট সিস্টেমে CNC তৈরির জন্য প্লাগইন আকারে একটি চমৎকার টুল রয়েছে। এটি তাদের সবচেয়ে সাধারণ একটি ঘনিষ্ঠ চেহারা গ্রহণ মূল্য।

    • পরিসংখ্যান অনুসারে ওয়ার্ডপ্রেস হল সবচেয়ে জনপ্রিয় কন্টেন্ট ম্যানেজমেন্ট সিস্টেম। এটি সবচেয়ে বিখ্যাত ব্লগ এবং ওয়েবসাইটে ইনস্টল করা আছে. এটি শেখার এবং ইনস্টলেশনের সহজতার জন্য বিখ্যাত।
    • জুমলা কম জনপ্রিয়, কিন্তু এখনও সক্রিয়ভাবে বিকাশকারীদের মধ্যে ব্যবহৃত হয়। এটিতে ভাল কার্যকারিতা, উপাদানগুলির একটি নির্বাচন, প্লাগইন এবং মডিউল রয়েছে।
    • OpenCart অনলাইন স্টোর তৈরির জন্য একটি পৃথক প্রকল্প। অভ্যন্তরীণভাবে এটি যে কোনও CMS-এর মতো, তবে একটি সংকীর্ণ পরিসরের কাজগুলি সমাধান করার জন্য এটি "উপযুক্ত"।

    ওয়ার্ডপ্রেসে সিএনসি লিঙ্ক - বাস্তবায়ন করা সহজ

    ওয়ার্ডপ্রেস সম্ভবত সেখানকার সবচেয়ে সহজ কন্টেন্ট ম্যানেজমেন্ট সিস্টেম। এটি খুব অল্প সময়ের মধ্যে স্ক্র্যাচ থেকে একটি ওয়েবসাইট বা ব্লগ তৈরিকে সহজ করতে পারে।

    ওয়ার্ডপ্রেসে সিএনসি সেট আপ করা সহজ এবং মূলত সাইর-টু-ল্যাট প্লাগইন ডাউনলোড এবং ইনস্টল করা জড়িত। এটি সিরিলিক স্ট্রিংগুলিকে ল্যাটিনে রূপান্তর করতে ব্যবহৃত হয়।

    প্রথমে আপনাকে এটি খুঁজে বের করতে হবে এবং ডাউনলোড করতে হবে। অফিসিয়াল ওয়ার্ডপ্রেস ওয়েবসাইট থেকে এটি করা ভাল। এইভাবে আপনি ক্ষতিকারক বা অ্যাডওয়্যার কোড প্লাগইনে আসার সম্ভাবনা এড়াতে পারেন।

    • সংরক্ষণাগার ডাউনলোড করার পরে, আপনাকে এটি আনপ্যাক করতে হবে।
    • তারপর আপনাকে এই ফোল্ডারটিকে wp-content -> plugins বিভাগে সরাতে হবে। এটি সাধারণত যেকোনো উপলব্ধ FTP ম্যানেজার ব্যবহার করে করা হয়।
    • এখন আপনাকে আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রবেশ করে ওয়ার্ডপ্রেস অ্যাডমিন প্যানেলে লগ ইন করতে হবে।
    • "প্লাগইনস" বিভাগে আপনাকে Cyr-to-Lat খুঁজে বের করতে হবে এবং এটি সক্রিয় করতে হবে। প্লাগইনটি এখন সিস্টেমে ইনস্টল করা হয়েছে এবং সক্রিয় করা হয়েছে।
    • এটি করতে, "বিকল্প" এ যান এবং সেখানে "স্থায়ী লিঙ্ক" এ যান।
    • সাধারণ সেটিংসে বেশ কয়েকটি টেমপ্লেট রয়েছে যা আপনি লিঙ্কটির চেহারা তৈরি করতে ব্যবহার করতে পারেন। এটি "কাস্টম" টাইপ ব্যবহার করার পরামর্শ দেওয়া হয়, যা আপনাকে প্রয়োজন অনুসারে সবকিছু কনফিগার করতে দেয়। এই ধরনের একটি টেমপ্লেটের জন্য সবচেয়ে সহজ নকশা হল /%category%/%postname%/। এর মানে হল যে বিভাগটি ঠিকানা বারে প্রদর্শিত হবে, পোস্টের শিরোনাম দ্বারা অনুসরণ করা হবে।
    • এবং তারপর Cyr-To-Lat এই সবকে ল্যাটিনে রূপান্তর করে। ফলস্বরূপ, আপনি WordPress এ একটি সুন্দর এবং বোধগম্য CNC লিঙ্ক পাবেন।

    Cyr-to-Lat ছাড়াও, আপনি অফিসিয়াল ওয়েবসাইটে উপলব্ধ অ্যানালগগুলিও ব্যবহার করতে পারেন। উদাহরণস্বরূপ, এগুলি হল WP Translitera, ACF: Rus-to-Lat, Rus-to-Lat Advanced। এই প্লাগইনগুলি ইনস্টল করা একই রকম, তাই আলাদাভাবে তাদের উপর থাকার কোন মানে হয় না।

    জুমলায় সিএনসি, তৈরির জন্য বেশ কয়েকটি বিকল্প

    জুমলা হল একটু বেশি জটিল কন্টেন্ট ম্যানেজমেন্ট সিস্টেম। ওয়ার্ডপ্রেসের মতোই এটি অল্প সময়ে ওয়েবসাইট এবং ব্লগ তৈরি করার ক্ষমতা রাখে। এটি ব্যাপক কার্যকারিতা এবং নমনীয়তা আছে. এর পরে, আপনাকে এই CMS-এ CNC লিঙ্কগুলি কীভাবে তৈরি করতে হয় তা বর্ণনা করতে হবে।

    জুমলার প্রাথমিকভাবে মানব-পাঠযোগ্য URL তৈরির জন্য অন্তর্নির্মিত কার্যকারিতা রয়েছে। জুমলা 3-এ CNC লিঙ্কগুলি "SEO সেটিংস" বিভাগে সাধারণ সেটিংস পৃষ্ঠায় সক্রিয় করা যেতে পারে। আইটেম "এসইএফ (সিএনসি) সক্ষম করুন" "হ্যাঁ" সেট করা উচিত। এইভাবে লিঙ্কগুলি আরও বোধগম্য আকারে রূপান্তরিত হবে।

    এখানে আপনি htaccess-এ একটি CNC লিঙ্ক তৈরি করে URL পুনঃনির্দেশনা সেট আপ করতে পারেন। এই ফাইলটি Apache ওয়েব সার্ভারের জন্য একটি কনফিগারেশন স্টোরেজ হিসাবে কাজ করে। এতে, আপনি কাঙ্ক্ষিত URL-এ লিঙ্কের রূপান্তর পরিবর্তন করতে নিয়মিত অভিব্যক্তি এবং RewriteRule নির্দেশিকা ব্যবহার করতে পারেন। এই পদ্ধতির মধ্যে প্রধান পার্থক্য হল নমনীয়তা। আপনি প্রায় যেকোনো ধরনের লিঙ্ক দিতে পারেন।

    "ইউআরএলে প্রত্যয় যোগ করুন" আইটেমটি লাইনের শেষে ডকুমেন্ট এক্সটেনশন যোগ করে। উদাহরণস্বরূপ, html. এই এক্সটেনশনটি গড় ওয়েবসাইট ভিজিটরের কাছে খুব কম আগ্রহের, তাই বিকল্পটিকে "না" অবস্থানে ছেড়ে দেওয়া যেতে পারে।

    ইউনিকোডে উপনাম - এই আইটেমটি ল্যাটিন ভাষায় উপাদানটির নাম প্রতিলিপি করে। এটি প্রয়োজনীয় যাতে রাশিয়ান অক্ষর বা অন্যান্য চিহ্নের পরিবর্তে বিশ্রী এবং অপঠিত কিছু প্রদর্শিত না হয়।

    জুমলার জন্য বিকল্প উপাদান

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

    এটির কার্যকারিতা, ইউআরএলগুলিকে CNC-তে রূপান্তর করার পাশাপাশি, মেটাডেটা, অনুসন্ধান ইঞ্জিন, কীওয়ার্ড, সেইসাথে ডুপ্লিকেট পৃষ্ঠাগুলি পরিচালনা করার জন্য একটি সেট অন্তর্ভুক্ত করে। এটি আপনার বিবেচনার ভিত্তিতে UTF-8 এনকোডিং এবং 404 পৃষ্ঠার কাস্টমাইজেশনের জন্য উপলব্ধ সমর্থন লক্ষ্য করার মতো।

    জুমলা 3-এ তিনটি ইনস্টলেশন পদ্ধতি উপলব্ধ রয়েছে: আপনার কম্পিউটার থেকে সরাসরি ডাউনলোড করা, সাইট ডিরেক্টরি থেকে এবং এটিতে একটি লিঙ্ক পাঠিয়ে।

    প্রথম বিকল্পের জন্য, আপনাকে ফাইলটি ডাউনলোড করতে হবে। তারপর CMS প্রশাসনিক প্যানেল মেনু থেকে "এক্সটেনশন" নির্বাচন করুন এবং "এক্সটেনশন ম্যানেজার" এ যান। "ফাইল নির্বাচন করুন" বোতামটি ব্যবহার করে, আপনাকে সিস্টেমটিকে প্রস্তুত সংরক্ষণাগারটি দেখাতে হবে এবং এটি ইনস্টল করতে হবে।

    দ্বিতীয় বিকল্পটি খুব কমই ব্যবহৃত হয়। তবে তৃতীয়টি তাদের মধ্যে সবচেয়ে সুবিধাজনক, যেহেতু এটি ডাউনলোড করার প্রয়োজন নেই। আপনাকে শুধু JoomSEF-এ লিঙ্কটি কপি করতে হবে এবং একই নামের ট্যাবে "ইন্সটল ফ্রম ইউআরএল" ফিল্ডে উল্লেখ করতে হবে। সিস্টেম নিজেই তার উপস্থিতি পরীক্ষা করবে এবং সমস্ত পরামিতি মিললে এটি ইনস্টল করবে।

    এটি লক্ষণীয় যে অ্যাড-অনটি সম্পূর্ণরূপে কাজ করার জন্য, এসইও সেটিংসে "এসইএফ সক্ষম করুন", "ইউআরএল পুনঃনির্দেশ" এবং "ইউআরএলে প্রত্যয় যোগ করুন" আইটেমগুলিকে অবশ্যই "হ্যাঁ" সেট করতে হবে।

    ইনস্টল করা উপাদানটি অবিলম্বে সক্রিয় মোডে সিস্টেমে একত্রিত হবে এবং এর কাজ শুরু করবে। যথা, এটি সমস্ত বিদ্যমান লিঙ্কগুলিকে আরও নান্দনিক চেহারায় রূপান্তরিত করে।

    জুমএসইএফ-এর বিপুল সংখ্যক সেটিংস এবং বিকল্প রয়েছে। তাদের সাহায্যে, আপনি খুব সূক্ষ্মভাবে সমস্ত সাইটের লিঙ্কগুলিকে প্রায় কোনও প্রয়োজনীয় ফর্মে আনতে পারেন।

    JBZoo এবং একটি মানব-পাঠযোগ্য URL

    JBZoo উপাদানটি জুমলা বিষয়বস্তু ব্যবস্থাপনা সিস্টেমের উপর ভিত্তি করে অনলাইন স্টোর, ক্যাটালগ, ব্লগ এবং সহজভাবে ব্যবসায়িক কার্ড সাইট তৈরি করার জন্য একটি সর্বজনীন এবং শক্তিশালী হাতিয়ার।

    জুমলায় JBZoo ইন্সটল করার জন্য, এর আগে থেকেই Zoo অ্যাড-অন থাকতে হবে।

    কখনও কখনও স্ট্যান্ডার্ড SEF সেটিংস রূপান্তর সম্পাদন করার জন্য যথেষ্ট পরিমাণে তাদের উপাদানগুলিতে পৌঁছায় না। অতএব, JBZoo-তে CNC লিঙ্ক তৈরি করতে sh404SEF উপাদান ব্যবহার করার পরামর্শ দেওয়া হচ্ছে। এই পণ্যটি বিনামূল্যে এবং JBZoo-তে লিঙ্ক তৈরির জন্য একটি ভাল টুল। সেটিংস, ফাংশন, বিভিন্ন সামাজিক নেটওয়ার্ক এবং পরিষেবাগুলির জন্য সমর্থন।

    সংরক্ষণাগারে লিঙ্কটি অনুলিপি করে বা সার্ভারে পূর্বে ডাউনলোড করা ফাইল সরাসরি আপলোড করে ইনস্টলেশন করা হয়।

    OpenCart এবং CNC সেটআপ

    OpenCart একটি প্ল্যাটফর্ম যা কোনো বিষয়বস্তু ব্যবস্থাপনা সিস্টেমের সাথে আবদ্ধ নয়। অর্থাৎ, এটি আলাদাভাবে কাজ করে। এর প্রধান ফোকাস হল বিভিন্ন মাত্রার জটিলতার অনলাইন স্টোরের সুবিধাজনক সৃষ্টি। যদিও পণ্য নিজেই বিনামূল্যে, অনেক অ্যাড-অন বাণিজ্যিক ভিত্তিতে বিতরণ করা হয়। সর্বশেষ স্থিতিশীল সংস্করণ 2.0.

    আপনি Apache ওয়েব সার্ভারের htaccess কনফিগারেশন ফাইল সম্পাদনা করে প্রথম উপায়ে CNC সেট আপ করা শুরু করতে পারেন।

    • এটি করার জন্য, আপনাকে FTP বা প্রশাসনিক মেমরিতে উপলব্ধ ফাইল ম্যানেজারের মাধ্যমে সাইট ফোল্ডারে যেতে হবে।
    • রুট ডিরেক্টরিতে .htaccess.txt ফাইল থাকা উচিত। যেহেতু এটি একটি txt এক্সটেনশন সহ একটি সিস্টেমে কোন প্রভাব ফেলে না, তাই প্রথমে এটির নাম পরিবর্তন করে .htaccess করা। এখন ওয়েব সার্ভার তার নির্দেশাবলী পড়বে এবং সেগুলি কার্যকর করবে।
    • এখন আপনাকে সাইট সেটিংসে যেতে হবে এবং "সার্ভার" ট্যাবে CNC ব্যবহার সক্ষম করতে হবে।
    • সমস্ত পরিবর্তন সংরক্ষণ করা আবশ্যক.
    • এখন সব লিঙ্ক পরিবর্তন করা উচিত.

    কখনও কখনও, কিছু কারণে, অনেক ঠিকানা এখনও পরিবর্তন হয় না এবং অস্পষ্ট থেকে যায়। এই কাজটি বাস্তবায়ন করতে, আপনি SeoPro উপাদান ব্যবহার করতে পারেন। সত্য, এটি ইনস্টল করার আগে আপনাকে প্রথমে OCMOD মাল্টিলাইন ফিক্স প্রয়োগ করতে হবে। এটি করার জন্য, আপনাকে ম্যানুয়ালি একটি ফাইলের কোড পরিবর্তন করতে হবে। এটি admin/controller/extension/modification.php এ অবস্থিত। এটি সম্পাদনা করতে, এনকোডিংয়ের সমস্যা এড়াতে নোটপ্যাড++ ইউটিলিটি ব্যবহার করার পরামর্শ দেওয়া হয়।

    আপনাকে $limit ভেরিয়েবলের পরে ব্লকে কোডের একটি লাইন যোগ করতে হবে। এটি এই মত দেখায়:

    • $quote = $operation->getElementsByTagName("search")->আইটেম(0)->getAttribute("উদ্ধৃতি");
    • যদি (!$সীমা) (
    • $সীমা = -1;

    এবং এটি যোগ করার পরে:

    • যদি ($উদ্ধৃতি == "সত্য") (
    • $search = preg_quote($search);

    তারপরে আপনাকে আসলে SeoPro মডিউলটি নিজেই ইনস্টল করতে হবে। ডাউনলোড করা সংরক্ষণাগার সার্ভারে আনপ্যাক করা আবশ্যক। তারপর phpmyadmin ব্যবহার করে কয়েকটি ডাটাবেস প্রশ্ন চালান:

    • সারণী পরিবর্তন করুন `oc_product_to_category` যোগ করুন `main_category` tinyint(1) NOT NULL DEFAULT "0"; সারণী পরিবর্তন করুন `oc_product_to_category` INDEX যোগ করুন `main_category` (`main_category`);

    এখন আমাদের প্রধান index.php ফাইলটি সম্পাদনা করতে হবে। আপনি যে লাইনে আগ্রহী তা হল:

    • $controller->addPreAction(নতুন অ্যাকশন("common/seo_url"));

    যা দ্বারা প্রতিস্থাপিত হয়:

    • যদি (!$seo_type = $config->পান("config_seo_url_type")) (
    • $seo_type = "seo_url";
    • $controller->addPreAction(নতুন অ্যাকশন("সাধারণ/"। $seo_type));

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

    পিএইচপি ভাষায় সিএনসি কার্যকারিতা বাস্তবায়ন

    ইন্টারনেটে বেশিরভাগ সাইটই পিএইচপি-তে লেখা হয়। এটি বেশ শক্তিশালী, সুবিধাজনক এবং শিখতে সহজ। এটির কাজটি ব্যবহারকারীর কাছে অদৃশ্য, যেহেতু পিএইচপি কোডটি সার্ভারের পাশে প্রসেস করা হয় এবং ব্রাউজারে বোধগম্য একটি রেডিমেড HTML পৃষ্ঠা ব্রাউজারে পাঠানো হয়।

    আপনি একটি ছোট কোড উদাহরণ ব্যবহার করে PHP-তে CNC লিঙ্কগুলির বাস্তবায়ন দেখাতে পারেন। যাইহোক, বাস্তব বহু-পৃষ্ঠার প্রজেক্টে ঠিকানা লাইনগুলিকে মানুষের-পাঠযোগ্য ফর্মে আনতে, আপনাকে টিঙ্কার করতে হবে।

    যেকোনো ওয়েবসাইট index.php ফাইল দিয়ে তার কাজ শুরু করে। এটি সাইটের অন্যান্য পৃষ্ঠাগুলিতেও হিট তৈরি করে। তবে প্রথমে আপনাকে htaccess কনফিগারেশন ফাইলটি একটু পরিবর্তন করতে হবে। এটিতে আপনাকে ফটোতে দেখানো হিসাবে বিভিন্ন নির্দেশাবলী নির্দিষ্ট বা আনকমেন্ট করতে হবে।

    প্রথম লাইন আপনাকে সার্ভার ব্যবহার করে ইউআরএল সমাধান করতে দেয়। দ্বিতীয়টি ভিত্তি ঠিকানা সেট করে। পরবর্তী দুটি লাইন ফাইল এবং ফোল্ডারের উপস্থিতি পরীক্ষা করে। যদি লাইন 3 এবং 4 ত্রুটি ছাড়াই প্রয়োগ করা হয় তবে পরবর্তীটি নিয়ন্ত্রণ index.php এ স্থানান্তর করে।

    পৃষ্ঠা আইডি এবং এর রূপান্তরিত মানের মধ্যে চিঠিপত্র সঞ্চয় করতে, একটি টেবিল প্রয়োজন। তাই এটি তৈরি করতে হবে। বিশেষ করে, আপনি প্রক্রিয়াটি বোঝার জন্য একটি সাধারণ তৈরি করতে পারেন। এতে দুটি ক্ষেত্র থাকবে: SEF এবং page_id। SEF নামটি সংরক্ষণ করে এবং এটি varchar টাইপের। এবং page_id হল int-এর পৃষ্ঠা সংখ্যা।

    এখন এটি index.php ফাইল নিজেই সংশোধন করা অবশেষ. এটি শুধুমাত্র একটি উদাহরণ এবং একটি নির্দিষ্ট প্রকল্পের জন্য অনুশীলনে সবকিছু কিছুটা আলাদা হতে পারে: $result = $_SERVER["REQUEST_URI"]। এই লাইনে, অনুরোধ করা URLটি $result ভেরিয়েবলে স্থানান্তরিত হয়।

    • যদি (preg_match ("/([^a-zA-Z0-9\.\/\-\_\#])/", $result)) ( শিরোনাম("HTTP/1.0 404 পাওয়া যায়নি"); echo " ইউআরএলে অবৈধ অক্ষর"; প্রস্থান করুন; )

    এই ব্লকটি চিহ্ন, সংখ্যা এবং কিছু চিহ্নের উপস্থিতি পরীক্ষা করে। যদি তালিকাভুক্ত ব্যতীত অন্য কিছু থাকে তবে একটি 404 পৃষ্ঠা প্রদর্শিত হবে।

    • $array_url = preg_split("/(\/|\..*$)/", $result,-1, PREG_SPLIT_NO_EMPTY);

    এখানে একটি অ্যারে $array_url ঘোষণা করা হয়েছে, যেখানে preg_split ফাংশন ব্যবহার করে, CNC-তে অতিরিক্ত কিছু নেই এমন উপাদানগুলি স্থাপন করা হয়েছে।

    • যদি (!$array_url) ( $ID_page = 1; ) অন্যথায়( $sef_value = $array_url;

    এখানে অনুরোধটি সেই ক্ষেত্রে প্রক্রিয়া করা হয় যখন অনুরোধটি একটি নির্দিষ্ট পৃষ্ঠায় নয়, একটি ডোমেনে করা হয়েছিল। অতএব, আপনাকে id = 1 দিয়ে প্রতিক্রিয়া জানাতে হবে। এছাড়াও এই মুহুর্তে প্রকল্প ডাটাবেসের জন্য একটি প্রশ্ন রয়েছে, যা SEF ক্ষেত্রে $sef_value ভেরিয়েবল থেকে এটির একটি মান আছে কিনা তা খুঁজে বের করে। যদি কিছু না পাওয়া যায়, ব্যবহারকারীকে একটি 404 পৃষ্ঠা পাঠান। শেষে, ফলাফল ঠিকানা কোড প্রক্রিয়া করা হয় এবং সংশ্লিষ্ট উপকরণ বা উপাদানগুলি ফেরত দেওয়া হয়।

    সিএনসি ব্যবহারের সুবিধা এবং অসুবিধা

    মানব-পাঠযোগ্য URL ব্যবহার করার সুবিধাগুলি নিম্নরূপ তালিকাভুক্ত করা যেতে পারে:

    • লিঙ্কটি দৃশ্যত বোধগম্য প্রতীকগুলির একটি সেটের চেয়ে আরও নান্দনিকভাবে আনন্দদায়ক দেখায়, বিশেষত অপরিচিত সাইটগুলিতে;
    • ঠিকানা মনে রাখা অনেক সহজ;
    • সাইটের সম্পূর্ণ পথ এবং কাঠামো পরিষ্কার হয়ে যায়;
    • GET প্যারামিটারগুলি সাধারণ উপায়ে প্রেরণ করা ঠিকানা লাইনে ভেরিয়েবল ব্যবহার করে, যা CNC-তে হয় না, যার অর্থ নিরাপত্তা লঙ্ঘন হয় না;
    • সাইট নেভিগেশন উন্নতি;
    • এসইও অপ্টিমাইজেশান উল্লেখযোগ্যভাবে উন্নতি করে এবং অনুসন্ধান রোবট সূচক যেমন একটি সাইট ভাল.

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

    উপসংহার

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