تغییر آدرس صفحه با استفاده از htaccess در سرور لینوکس

September 13, 2008
htaccess چیست؟
در سرورهای لینوکس فایلی وجود دارد به نام .htaccess که توسط این فایل خیلی از تنظیمات امنیتی و ... را می توان به راحتی انجام داد.
بعضی‌ها که به لینوکس آشنایی ندارند فکر می‌کنند این فایلی بدون نام است و htaccess پسوند این فایل می باشد! ولی گفتنی است که نام این فایل htaccess است و نقطه‌ی اول آن در لینوکس به این معنی است که فایل پنهان ( hidden ) است!
فایل htaccess در کجا قرار دارد؟
این فایل در شاخه‌ی اصلی سرورهای لینوکس قرار دارد و در صورتی که وجود نداشت می توانید آن را با نام .htaccess ایجاد نمایید.

چگونه آدرس را توسط htaccess تغییر دهیم؟
فرض می کنیم ما می خواهیم آدرس صفحه را از
www.yoursite.com/home.php به www.yoursite.com/home
تغییر دهیم برای این کار ما از RewriteRule در htaccess استفاده می کنیم.
htaccess را توسط یک ادیتور باز نمایید و کدهای زیر را در آن قرار دهید.
RewriteEngine On
RewriteRule ^home home.php

در صورتی که آدرس صفحه‌ی شما ثابت نبود مثلا www.yoursite.com/home.php?id=1 بود و می خواستید آن را به www.yoursite.com/home/1 تبدیل کنید دستور زیر را در htaccess خود قرار دهید.
RewriteEngine On
RewriteRule ^home/(.*) home.php?id=$1

در صورتی که تعداد صفحات بیشتری را می خواستید تبدیل کنید، نیاز نیست RewriteEngine On را تکرار کنید و فقط دستورات را به پایین همین کد اضافه نمایید.
مانند:
RewriteEngine On
RewriteRule ^home home.php
RewriteRule ^home/(.*) home.php?id=$1

در صورت اطلاعات بیشتر در ضمینه htaccess می‌توانید به صفحه‌ی خانگی آن در سایت apache مراجعه نمایید. ( صفحه‌ی خانگی )

7 comments

مرسی مبین جان مثل همیشه عالی بود
سلام .
من این فایلو خیلی دوس دارم ...!
مطلب جالبی بود . ( =عالی بود)
مبین جان دستت درست.
فقط یه سوال. الان روی یک هاست ما یک دامین اصلی و تعدادی ساب دامین داریم، برای هر ساب دامین می شه این فایل رو داشت یا بهتره همش رو تو شاخه اصلی بذاریم؟

همونطور که در پایین مطلب بالا گفتم می‌تونید برای اطلاعات بیشتر به سایت apache مراجعه کنید.( آدرس سایت apache در مقاله‌ی بالا ذکر شده است )

مرسی از اطلاعات مفیدتون در مورد این فایل حیاتی.
اما یه سوال اینکه اگر این فایل ااسمش htaccess هست پسوندش چیه؟ (txt?)
و اینکه چرا hidden؟ چرا حتما باید hidden باشه؟

خیر دوست عزیز این فایل بدون پسوند است، دلیل hidden بودنش هم باید از مسؤلین apache بپرسید!

:)) خیلی ممنون!
میدونم اگه پسوند .txt بذاریم کار نمیکنه اما بالاخره باید یه فرمتی داشته باشه دیگه (فرمت text). در مورد دلیل مخفی بودنش هم به جایی رسیدم خبرتون میکنم :)
LOL
جناب دارن می گن فایل فرمت داره اما نام نداره :P
sina
November 3, 2008, 5:24 AM
من با این راهنمای انگلیسیش یه کم قاطی کردم.
میشه یه کم در مورد تبدیل آدرس های داینامیک به نوع قابل هضم برای موتور های جستجوگر توضیح بدید؟ مثلا این $1 که بعد از id در کدها گذاشتید خوب حتما آی دی پست رو میخونه میزاره جاش ولی چنتا مثلا پیشرفته تر بزنید که چنتا وریبل داشته باشه.

Post your comment

Your Name: (required)
Your Mail: (required)
Your Website:
Comment:
Tags
Detail