PDA

Դիտել ողջ տարբերակը : URL Rewrite module



T!gran
03.05.2009, 18:47
Ժողովուրդ PHP/MySQL ով կայք եմ հավաքում ու ստացվելա էսպիսի URL

_http://www.example.com/index.php?page=contact&hl=hy_AM , բայց կուզենայի, որ լինկը ես ձև լիներ

_http://www.example.com/hy_AM/contact/x/y/z/..........

այսինքն ՝օգտագործելով Rewite Engine -ն

գիտեմ, որ .htaccess -ում գրելով հնարավոր ա, բայց չգիտեմ ինչ պետք է գրել

lav tgha
03.05.2009, 22:38
tigran ջան կա մի ձեւ որ դու .htaccess-ի միջոցով 404 error որը նշանակում է որ քո կանչած հասցեն չգտնւեց, վերադարձնում ես index.php ֆայլին, իսկ այնտեղ քոդերի միջոցով արհեստական հասցեն վերածում ես իսկական հասցէին, այդ գործընթացքը կարելի է անել ասենք օրինակի համար explode-ի միջոցով / նշանակետով, ու այնպես քոդում դասաւորես որ ասենք առաջին բաժինը հատկացւի ասենք hlին, երկրորդը ասենք page-ին եւ եթէ կայքէջտ կոռիզային իմաստով ճիշտ ծռագռած լինես, ապա շատ հանգիստ գոռծ ընթացը կը յաջողես, մի խօսքով ներքեւում մի նմուշ եմ բերում այն հրամաներից որոնք պէտք է գրւեն .htaccess-ի մէջ:



RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

յաջողութիւն եմ քեզ ցանկանում

T!gran
03.05.2009, 22:54
tigran ջան կա մի ձեւ որ դու .htaccess-ի միջոցով 404 error որը նշանակում է որ քո կանչած հասցեն չգտնւեց, վերադարձնում ես index.php ֆայլին, իսկ այնտեղ քոդերի միջոցով արհեստական հասցեն վերածում ես իսկական հասցէին, այդ գործընթացքը կարելի է անել ասենք օրինակի համար explode-ի միջոցով / նշանակետով, ու այնպես քոդում դասաւորես որ ասենք առաջին բաժինը հատկացւի ասենք hlին, երկրորդը ասենք page-ին եւ եթէ կայքէջտ կոռիզային իմաստով ճիշտ ծռագռած լինես, ապա շատ հանգիստ գոռծ ընթացը կը յաջողես, մի խօսքով ներքեւում մի նմուշ եմ բերում այն հրամաներից որոնք պէտք է գրւեն .htaccess-ի մէջ:



RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]յաջողութիւն եմ քեզ ցանկանում

Շատ շնորհակալություն :)

T!gran
04.05.2009, 13:52
իսկ .htaccess -ը IIS7 -ում աշխատում է՞, ընդեղ rewrite-ի համար ադդոն կա դրած առանձին

T!gran
04.05.2009, 15:22
Փաստաթղթերի մեջ(documentation) գտա

Options -Indexes
ServerSignature Off
Options +FollowSymLinks

RewriteEngine on

RewriteBase /atech

RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]

:hands

lav tgha
04.05.2009, 16:46
Ոչ, ինչքան գիտեմ .htaccess Apachi հնարաւորութիւններիցա, մի բան որ չի առնչւում Windows-ի IIS-ի հետ, դրա համար այն սերւերը որից օգտւում ես պէտք է աշխատի linux համակարգով որ կարողանա քեզ համար ապահովի Apachi-ի սերւիս պրովայդերը, իսկ թէ IIS-ով ինչպէս կարելի է քո մտածած գաղափարը իրագործել, դրա մասին ես չգիտեմ:

T!gran
04.05.2009, 18:33
Apache + PHP -ի փորձեցի նորմալ աշխատումա :)