يك htaccess ساده

يكي از دوستان اگر لطف بكنند براي من يك فايل htaccess درست كنند ( دستورات داخلي رو برام بنويسند ) كه يك URL اينطوري:

کد:
http://www.google.com/index.php?ID=150


به شكل

کد:
http://www.google.com/index150.html

نمايش داده بشه
 

amir01

Well-Known Member
برات نوشتم کد رو...

سلام توسط کدی که زیر نوشتم میتونی این کار رو بکنی:
کد:
RewriteRule ^http://google.com/index([0-9]+).html?$ http://google.com/index.php?ID=$1 [L]
 

spsgorgan

Active Member
امير جان حالت كلي رو بفرماييد . اين فقط رو آدرسهاي گوگل عمل ميكنه . چطوز ميشه روي سايتهايي كه مثلا ناك روش نصبه اينكارو انجام داد ؟ البته واسه ناك گوگل مپ هست اما ميخوام بدونم به اين صورت هم امكانش هست ؟
 

amir01

Well-Known Member
قبل از این کد باید Rewrite رو روشن کنید!!!

کلش رو گذاشتم :
کد:
RewriteEngine On
Options +Followsymlinks
RewriteBase /
RewriteRule ^([0-9]+).html?$ /index.php?ID=$1 [L]
این حالت کلیشه این کد الان آدرسی مثل :
کد:
http://domain/index.php?ID=5
رو به :
کد:
http://domain/5.html
تبدیل میکنه. حالا شما هرچیزی میخواهید میتونید بهش اضافه کنید. اگه سوالی بود بپرسید. ( یا حق )
 
دوست عزيز باز هم كار نكرد!
چطور ميشه متوجه شد كه ايراد كار در كجا هست؟
 

miladmovie

Active Member
چطور ميشه متوجه شد كه اين ماژول غير فعال هست؟
اگر آپاچي روي ويندوز نصب كرده باشيم آيا ماژول ریرایت كار خواهد كرد؟
بله کار می کنه برو توی httpd.conf دنبال mod_rewrite بگرد اولش # داره اون رو پاک کن یک بار آپاچی رو ریستارت کن
 

elecit

Member
کلش رو گذاشتم :
کد:
RewriteEngine On
Options +Followsymlinks
RewriteBase /
RewriteRule ^([0-9]+).html?$ /index.php?ID=$1 [L]
این حالت کلیشه این کد الان آدرسی مثل :
کد:
http://domain/index.php?ID=5
رو به :
کد:
http://domain/5.html
تبدیل میکنه. حالا شما هرچیزی میخواهید میتونید بهش اضافه کنید. اگه سوالی بود بپرسید. ( یا حق )

يعني اگه الان اين متن رو به صورت .htaccess ذخيره كنيم و در فايل www روي سرور بذاريم تمام ساب دومين ها هم به اين ترتيب عمل مي كنن ؟ ميشه كاملا ابتدايي توضيح بدين ؟
 

Domanjiri

Well-Known Member
دوست عزيز اگه فقط ميخواي صفحه ي اصلي سايت(index.php) به صورت لينك اچ تي ام ال نشون داده بشه ميتوني بري تو

تنظيمات آپاچي و يه كاري بكني كه فايل هاي html رو هم php بخونه اونوقت index.php رو به index.html تغيير بدي اينجوري هم

زحمت كمتري كشيدي هم گوگل صفحه اصلي(index) سايتت رو بهتر ايندكس ميكنه....

نميدونم تو هم همينو ميخواستي يا نه.....

اگه هم از cms استفاده ميكني ماژول هايي هستند كه لينك ها رو خيلي شيك و كوتاه و به صورت html تبديل ميكنند..
 

elecit

Member
کلش رو گذاشتم :
کد:
RewriteEngine On
Options +Followsymlinks
RewriteBase /
RewriteRule ^([0-9]+).html?$ /index.php?ID=$1 [L]
این حالت کلیشه این کد الان آدرسی مثل :
کد:
http://domain/index.php?ID=5
رو به :
کد:
http://domain/5.html
تبدیل میکنه. حالا شما هرچیزی میخواهید میتونید بهش اضافه کنید. اگه سوالی بود بپرسید. ( یا حق )

اين كار نمي كنه !
1 . در ضمن صفحه index.php من متغير عددي نمي گيره ! و مجموعي از اعداد و حروف است (index.php?req=salam) تبديل بشه به salam.html. بنابر اين براي مثال بالا بايد چه كرد ؟

2 . در ضمن چطور ميشه آدرس index.php?cat=news&num=11254 رو به صورت index.php/new/11254 نشون بده ؟


3 . و يه چيز ديگه اينكه من آموزش هاي htaccess رو خوندم . براي گذاشتن پسوورد روي فولدر كار نمي كنه ! يعني پنجره POP up باز ميشه اما user و pass رو قبول نمي كنه .
 

mohammad-s

Member
کد کار میکنه ...
برای اینکه با حروف هم کار کنه خط آخر رو به این صورت تغییر بدین :
PHP:
RewriteRule ^([0-9a-zA-Z]+).html?$ /index.php?ID=$1 [L]
 
با استفاده از روشهايي كه در بالا مطرح شد چه بلايي به سر متغيرهاي Get و POST مياد؟
 

mohammad-s

Member
والا سر POST که بلایی نمیاد !

فقط یه تغییراتی تو get انجام میشه

مثلا آدرس : domain.com/index.php?id=1 تبدیل میشه به : domain.com/1
همین ...
 
در مثالي كه زديد، آيا در آدرسي كه تبديل شده، متغير

PHP:
$_GET[id]

در index.php قابل دسترس است؟
 

sabasoft

Member
میشه یه خورده بیشتر و همچنین دستورات دیگه رو هم توضیح بدید... .
 

جدیدترین ارسال ها

بالا