حذف پسوند php , .html. و htm. از URL سایت

فایل htaccess.من به تازگی می خواستم پسوند فایل ها را از URL وب سایت یکی از مشتریانم (که پروژش رو با Pure PHP آماده دارم می کنم) حذف کنم ، تا URL ها کاربرپسندتر و برای گوگل بیشتر قابل فهم و کاراتر باشند. من در آموزش چگونگی حذف پسوند .php از صفحه پی اچ پی گیر کردم. سوال دیگه ای که مطرح میشه اینه کهدر مورد html. چطور؟ من می خواستم آن ها را هم حذف کنم! در این آموزش به شما نشان می دهم که چگونه این کار را به راحتی و با ویرایش فایل htaccess. انجام دهید.فایل htaccess. چیست ؟یک پرونده/فایل .htaccess یک پرونده ASCII ساده است، که شما با یک ویرایشگر متن مانند Notepad یا TextEdit می توانید آن را ایجاد کنید. این فایل به سرور این امکان را می دهد تا بفهمد که چه پیکربندی هایی را برای هر دایرکتوری ایجاد کند.یاداتن باشد که htaccess. نام کامل این نوع فایل کاربری برای سرور هاست شما است. اسم آن file.htaccess نیست و به سادگی اسم آن htaccess. است.فایل های htaccess. دایرکتوری و ساب دایرکتوری هایی را که در آنها قرار دارند را تحت تاثیر قرار می دهند. برای مثال اگر یک فایل htaccess. در دایرکتوری سایت شما yoursite.com قرار دارد، می تواند بر روی yoursite.com/content و yoursite.com/content/images/ و باقی ساب دایرکتوری هایش تاثیر بگذارد.یادآوری این نکته حائز اهمیت است که می توان آن را دور زد. اگر نمی خواهید برخی از دستورات htaccess. برای تأثیرگذاری بر یک فهرست خاص ، یک پرونده جدید htaccess. را در فهرستی قرار دهید، که نمی خواهید تحت تأثیر تغییرات قرار بگیرد و فرمان(های) خاص را از پرونده جدید حذف کنید.امکانات با یک فایل htaccess. شما می توانید : ریدایرکت کاربر به یک صفحه متفاوتمراقبت از یک دایرکتوری با استفاده از پسوردبلوکه کردن کاربران با استفاده از آی پی ipجلوگیری از لینک دهی انبوه بر روی تصاویر وب سایتدوباره نویسی یا اصطلاحا rewrite کردن آدرس URL هااختصاصی کردن داکیومنت یا مستندات خطاهاما در این آموزش قصد داریم تا بر روی rewrite کردن آدرس URL ها تمرکز و صحبت کنیم.حذف کردن اکستنشن هابرای از بین بردن و حذف کردن اکستنشن php. از روی یک فایل PHP به طور مثال yoursite.com/wallpaper.php به yoursite.com/wallpaper شما حتما بایستی کدهای دستوری زیر را به فایل htaccess. اضافه کنید :RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.php [NC,L]و اگر شما قصد دارید تا html. را ازی فایل HTML بردارید، شما باید از کد زیر استفده کنید :RewriteRule ^([^\.]+)$ $1.html [NC,L]خب می توان گفت همه مساله همین بود! اکنون می توانید بدون نیاز به افزودن پسوند صفحه ، صفحات داخل سند HTML را پیوند دهید. مثلا: https://virgool.io/p/zsau7bvahvdb/ahref= اضافه کردن / در انتهای آدرس URLمن درخواست های زیادی دریافت کردم که از آنها می پرسند که چگونه می توانید / را در انتهای URL اضافه کنید ، به عنوان مثال: /yourite.com/pageاولین قطعه را نادیده بگیرید و کد زیر را وارد کنید. چهار خط اول با حذف پسوند و موارد زیر ، همراه با اضافه کردن برش باریک و هدایت مجدد سروکار دارد.RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^([^/]+)/$ $1.phpRewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.phpRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$RewriteRule (.*)$ /$1/ [R=301,L]پیوند / لینک به پرونده HTML یا PHP به همان روشی که در بالا مشاهده شد. اگر می خواهید به جای PHP روی یک فایل HTML اعمال شود ، کد را تغییر ندهید.برخی از افراد می پرسند که چگونه می توانید پسوند را از هر دو فایل HTML و PHP حذف کنید. من راه حلی برای آن ندارم. اما می توانید پسوند فایل HTML خود را از html. یا htm. به php. تغییر داده و کد حذف این پسوند php. را اضافه کنید.جمع بندی بحثبرای کسانی که خب به دلایلی نسبت به این مطلب زیاد روی خوش نشان نمی دهند، البته مطلب مربوط به htaccess. را می گویم، خب منظور ایجاد این فایل هست. خب آره هستند کسانی که نسبت به این مساله که بخواهند یک فایل htaccess. ایجاد کنند روی خوش نشان نمی دهند، و در نتیجه دنبال راه راحتتری هستند ما اون راه راحتتر رو بهتون معرفی می کنیم : http://www.htaccesseditor.com/ ، خب شما با استفاده از این سایت می توانید به راحتی فایل htaccess. را برای سات خود ایجاد کنید.یه آپدیت فوریخب ما اگر بخواهیم که این کار رو برای سایت هایی انجام بدیم که از GoDady هاستینگشون رو دریافت می کنند، باید بگیم که باید از کد زیر استفاده کنند : (یعنی ایکه باید Multiviews رو به ابتدای همه این موارد و خط کدهای مربوط به فایل اضافه کنند)Options +MultiViewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^([^\.]+)$ $1.php [NC,L]و اگر هم که شما نگرانید که یک وقت نکنه گوگل بیاد و یکسری صفحات شما که شامل صفحه اصلی شما میشه رو دوباره و چندباره ایندکس کنه، باید بگم که می تونید از تگ <canonical> در کدهای خودتون که در <head> هست قرار بدید و از این کد تگ استفاده کنید :<link rel="canonical" href="https://alexcican.com/post/single-post" />