PDA

View Full Version : سوال: ساخت دایرکتوری مجازی



Tarragon
پنج شنبه 14 اردیبهشت 1391, 12:56 عصر
سلام به همه و عرض خسته نباشی.
یه سوال داشتم می خواستم بدونم سایت هایی مثل فیس بود یا توییتر یا یوتیوب چطوری یه آدرس می دن به شخص که اون آدرس مثله یه فایل
http://facebook.com/Example
می خواستم بدونم اون ها چطوری این فایل ها رو می سازند با تشکر .

Hamid.RDN
پنج شنبه 14 اردیبهشت 1391, 13:12 عصر
دوست عزیز اینها عموما فایل نیستند و با Mod Rewrite مربوط به Apache و فایل htaccess. ایجاد می شوند.
نمونه

RewriteRule /Example index.php?name=Example [L,N,qsappend]

Tarragon
پنج شنبه 14 اردیبهشت 1391, 13:22 عصر
ممنون از راهنماییتون.
این کد چه کار می کنه؟
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?amin=%{QUERY_STRING} [NE,L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>

Hamid.RDN
پنج شنبه 14 اردیبهشت 1391, 13:33 عصر
این کد به ترتیب


چک میکنه آیا mod_rewrite فعال هست یا نه
موتور Rewrite رو در Apache راه اندازی میکنه
چک می کنه اگر فایل یا دایرکتوری درخواست شده وجود نداشته باشه query درخواست شده رو به فایل index.php ارسال میکنه
و در نهایت اعتبار کاربر رو از طریق HTTP بررسی می کنه

Tarragon
پنج شنبه 14 اردیبهشت 1391, 14:49 عصر
می شه یه کد بدید که توی فایل ایندکس مسیر فایل بطور یه متغیر GET ذخیره بشه.

Hamid.RDN
پنج شنبه 14 اردیبهشت 1391, 17:06 عصر
بفرمایید:


Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?req=$1 [L,N,qsappend]

Tarragon
پنج شنبه 14 اردیبهشت 1391, 19:48 عصر
سلام
خیلی ممنون عالی بود.
یه سوال دیگه
چرا موقعی تو آدرس بار می زنیم دابل کوت(")ارور 403 می ده.

Hamid.RDN
پنج شنبه 14 اردیبهشت 1391, 19:59 عصر
خوب بخاطر اینکه توی windows نمیشه از کاراکتر " استفاده کرد توی نام فایل. در نتیجه این خطا نمایش داده میشه مثل کاراکتر :