• 1 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
. سوالاتی از htaccess
#1
سلام
این کد از فایل .htaccess هست
این رو ببینید
کد پی‌اچ‌پی:
RewriteRule ^page/static/view/(.*)$ index.php?module=$1&do=$2&id=$[R=301,L
حالا میخوام بدونم این کد چی کار میکنه
و اینکه [R=301,L] یعنی چی؟ بعضی کد ها رو دیدم به R=301 جای N هست

این N یا R یا L یعنی چی؟ و آیا موارد دیگه ای هم هست؟

خیلی مهمه

قصدم اینه که از یه آدرس خاص به یه آدرس خاص دیگه ریدایرکت بشه
با تشکر ممل آمریکایی
  پاسخ
تشکر شده توسط :
#2
به این میگن url cleanig. یعنی شما میتوند url رو به روش دلخواه خودتنون ایجاد یا تغییر بدید.(به زبان ساده)

البته من فکر میکنم کدتون مقداری مشکل داشته باشه. چون رول رو بر اسال پسوند قرار داده . اما 3 متغیر رو پارس میکنه.

اما در کل r جهت ریدایرکت هست . اون عدد کد نو ریدایرکت هست [301 = MOVED PERMENENTLY]. L هم هم یعنی Last Rule . حدس میزنم . اگر نوع rule فعلی به شکست منجر بشه . rule قبلی رو استفاده میکنه
  پاسخ
تشکر شده توسط :
#3
توضیحاتتون واضح نبود میشه بیشتر و کاملتر توضیح بدید؟
با تشکر ممل آمریکایی
  پاسخ
تشکر شده توسط :
#4
حداقل میگفتی کجاشو
  پاسخ
تشکر شده توسط :
#5
نقل قول:البته من فکر میکنم کدتون مقداری مشکل داشته باشه. چون رول رو بر اسال پسوند قرار داده . اما 3 متغیر رو پارس میکنه.

اما در کل r جهت ریدایرکت هست . اون عدد کد نو ریدایرکت هست [301 = MOVED PERMENENTLY]. L هم هم یعنی Last Rule . حدس میزنم . اگر نوع rule فعلی به شکست منجر بشه . rule قبلی رو استفاده میکنه

اینجاشو + توضیحات تکمیلی لطفاً
با تشکر ممل آمریکایی
  پاسخ
تشکر شده توسط :
#6
ببین شما فرضا یک url به این صورت دارید.
کد:
index.php?sec=news&user=saleh&go=save
در clean url به کمک mod_rewrite میان ظاهر url رو یک چیز دیگه ایجاد میکندد . اما زمانی که درخواست میخواد به http برسه اون رو ترجمه میکند. به این شکل

1- url تغییر یافته :
کد:
domain.com/news/saleh/save.html

2- در httaccess میان عمل ترجمع و parser رو انجام میدن
کد:
RewriteRule ^news/([a-zA-Z0-9]+)/([a-zA-Z0-9]+).html$ index.php?sec=news&user=$1&go=$2

خوب فکر میکنم دیگه کامل مشخص شده باشه که چی به چی هست. اینها (([a-zA-Z0-9]+)) درواقع همون پارامتر های هستند که ارسال میشند. من اینجا پرامتر های رو پویا قلمداد کردم. بعد از ترجمه هر مقداری که با شروطی که تعیین کردم به ترتییب از چپ به راست در متغیر های $1 تا .... ذخیره میشند. و شما میتونی اون مقدار رو در ترجمه به url مورد نظرتون انتفال بدید.
  پاسخ
تشکر شده توسط : HiddeN
#7
برای استفاده از پسوندهایی غیر از php از دو دستور زیر استفاده کردم
کد:
AddType application/x-httpd-php .asp .jsp

و

کد:
RewriteEngine on
RewriteRule ^(.*)\.asp$ $1.php

از اولی که ناامید شدم، دومی کار میکنه ..
اون علامتهای دلار تو دومی به چه معناست؟
اگر نخواهیم پسوند php رو نشون بده، مثلا فقط asp کار کنه باید چیکار کرد؟
  پاسخ
تشکر شده توسط :
#8
از این استفاده کنین
کد:
<FilesMatch "\.(asp|jsp|php)$">
SetHandler application/x-httpd-php
</FilesMatch>
  پاسخ
تشکر شده توسط :
#9
نقل قول:
کد:
<FilesMatch "\.(asp|jsp|php)$">
SetHandler application/x-httpd-php
</FilesMatch>

این کد کار نمیکنه، اگر در مورد کد بالا یه توضیحی بدی ممنون میشم

اگر بخواهیم کلا پسوند php رو نشون نده چیکار باید کرد؟ یعنی به پسوند دیگه ای تبدیل نکنه
  پاسخ
تشکر شده توسط :
#10
از همون mod_rewrite باید استفاده کنین
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان