Anterior, utilizarea SSI, pagini de titlu ale unui site trebuie reziliat .shtml de prelungire. dar astăzi majoritatea serverelor de Internet sunt configurate astfel încât SSI pot fi, de asemenea, utilizat pe paginile cu extensia .html. care este foarte convenabil. Cu PHP este o altă poveste - extensia .php este o extensie a implicit. Site web designeri, știind dinainte că vor fi utilizate de limbajul de programare, o pasta atribuie extensia corectă.
Dar ce să facă atunci când toate paginile se termină cu extensia .html?
Înlocuiți extensia HTML în PHP
Acest lucru se poate face în mai multe moduri. Cel mai evident mod - pentru a da extensia .php toate paginile sau poate modifica o extensiile deja existente (.html shtml, etc.). Această metodă are dezavantaje. De exemplu, paginile deja indexate cu extensia .html va trebui să re-indexate de motoarele de căutare. Sau chiar mai rău - toate link-urile externe care se referă în mod explicit la o anumită pagină va fi invalid. Și va trebui să notifice proprietarii fiecărui site de aceste schimbări și de a crea pentru fiecare pagină o altă pagină cu 301 de eroare. Desigur, modificați o extensie la alta este permisă, dar ce să fac dacă un site are deja multe pagini și o mulțime de link-uri către pagini diferite de la alte site-uri?
Prin rațiune deliberată, la momentul toate paginile acestui site se termină cu extensia HTML, și nu am vrut să fac modificările menționate mai sus, creând astfel dificultăți suplimentare în prezent.
Puteți face o altă cale. Dacă serverul care găzduiește site-ul, susține mod_rewrite (în cele mai multe cazuri, sprijină), și să aibă acces la fișierul .htaccess. următoarele linii pot fi adăugate la același fișier:
Prin adăugarea acestui cod în .htaccess. nu vă faceți griji. Toate paginile inexistente solicitate cu extensia .html va fi înlocuit automat cu extensia .php datorită Minunile Apache. Dar această metodă nu este singura. Puteți înregistra următoarele în același fișier .htaccess:
Apropo, dacă utilizați SSI la acest site, după cum urmează:
acest cod atunci noul PHP'shnom capabil să fie înlocuit cu:
Ei bine, asta e tot, cred că oricare dintre modalitățile menționate mai sus pentru a ajuta.
și chiar mai ușor să solicite gazdă în httpd.conf Apache
adăuga
AddType application / x-httpd-php .php .phtml .htm .html
și nu este nevoie de a utiliza mod_rewrite
Da, desigur. Doar cu AddHandler în .htaccess, mod_rewrite nu este necesară, și așteptați nu este necesară gazdă. AddType principal nu prescrie în .htaccess
Prima metodă este mai bună IMHO. După trei până la șase luni, puteți elimina pur și simplu
-
RewriteEngine on
RewriteRule ^ (. *) \. HTML $ 1 \ .php
-
Și pentru a adăuga la script 404 care ar jibe cu html php
Pro:
în HTML (care nu necesită php) nu va fi numit php (mai puțin de încărcare pe un server)
Rescrierea nu va funcționa - mai puțin stres.
Ei bine, eu știu în 3 gazde diferite au cerut să se înregistreze ceva în httpd.conf Apache ....
plictisitoare ..
vpechetlenie se tem ca pe ciuma
RewriteRule ^ \ html $ 1 \ .php (*.) -. Că doar salvat!
AddHandler application / x-httpd-php .php .html htm
Este necesar să se termina:
RewriteEngine on
RewriteRule ^ (. *) \. HTML $ 1 \ .php
sau este alternativa? Textul articolului scris ambigua, prescrie următoarele în același fișier .htaccess
Într-adevăr, echivoce. Ar trebui să-l înțeleagă ca două metode diferite. În primul rând doar rescrie automat extinderea paginii, iar a doua metodă lasă extinderea HTML singur, dar oferă serverul o comandă pentru a efectua PHP-cod.
De asemenea, puteți utiliza ambele metode.