Cum adaug php parsing prin htaccess

Salut, am un website pe un host care ofera doar html. Imi trebuie sa inserez si php, si cei de la host mi-au spus sa modific fisierul .htaccess . Pe internet am gasit urmatoarea solutie, sa introduc urmatoarele 2 linii:
RemoveHandler .htm .html
AddType application/x-httpd-php .php .html .htm

Atunci pe moment, solutia asta a functionat si s-a activat compilarea in php. Dupa 2 saptamani am constatat ca situl iar nu mai interpreteaza php, si am vazut ca si cele 2 linii pe care le-am adaugat in .htaccess au disparut. Am adaugat inapoi cele 2 linii, dar de data asta nu am mai reusit sa activez php. Cei de la host nu au fost de prea mare ajutor. Intrebarea mea este daca .htaccess contine altceva care sa impiedice acum compilarea php? Tot fisierul .htaccess e mai jos:

#Weebly Additions Start
DirectoryIndex index.html index.shtml index.xhtml index.wml index.perl index.pl index.plx index.ppl index.cgi index.jsp index.js index.jp index.php4 index.php3 index.php index.phtml index.htm home.htm default.htm index.fcgi
ErrorDocument 404 /404.php
ErrorDocument 403 /404.php

Options -Indexes
# Send send no-cache headers for root (/) and (.html) files
SetEnvIf Request_URI "(^/|\.html)$" HTML_FILE
Header add Pragma "no-cache" env=HTML_FILE
Header add Cache-Control "no-cache, no-store, max-age=0,  must-revalidate" env=HTML_FILE
Header add Expires "-1" env=HTML_FILE


RewriteEngine On


# stop condition
RewriteRule ^mobile/.*$ - [L]

#Redirect urls based on a query string parameter
RewriteCond %{QUERY_STRING} ^(.*&)?view=mobile([^&]*)&?(.*)?$
RewriteRule ^(.*)$ /$1?m%1%3 [CO=is_mobile:1:%    {HTTP_HOST},CO=disable_mobile:0:%{HTTP_HOST},L,R]

RewriteCond %{QUERY_STRING} ^m*(.*&)?view=full([^&]*)&?(.*)?$
RewriteRule ^(.*)$ /$1?%1%3 [CO=disable_mobile:1:%{HTTP_HOST},L,R]

# only process HTML files
# ----------------------------------------------------
RemoveHandler .htm .html
AddType application/x-httpd-php .php .html .htm 

RewriteRule (^|\.html)$ - [S=1]
    # is an html file, start the tests...

RewriteRule .* - [S=9]
    # NOT html file, skip past mobile rules...


# tests
# ----------------------------------------------------

RewriteCond %{QUERY_STRING} ^mobile$
RewriteRule ^(.*)$ /$1?m [CO=is_mobile:1:%{HTTP_HOST},CO=disable_mobile:0:%{HTTP_HOST},L,R]
    # set cookies, redirect...

RewriteCond %{QUERY_STRING} ^full$
RewriteRule ^(.*)$ /$1? [CO=disable_mobile:1:%{HTTP_HOST},L,R]
    # set cookies, redirect...

RewriteCond %{HTTP_COOKIE} (^|;)\s*is_mobile=0
RewriteRule .* - [S=6]
    # skip past mobile rules...

RewriteCond %{HTTP_COOKIE} (^|;)\s*disable_mobile=1
RewriteRule .* - [S=5]
    # skip past mobile rules...

RewriteCond %{HTTP_COOKIE} (^|;)\s*is_mobile=1
RewriteRule .* - [S=2]
    # go to mobile rules...

RewriteCond %{HTTP_USER_AGENT} android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR]
RewriteCond %{HTTP_USER_AGENT}  ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-) [NC]
RewriteRule .* - [CO=is_mobile:1:%{HTTP_HOST},S=1]
    # go to mobile rules...

RewriteRule .* - [CO=is_mobile:0:%{HTTP_HOST},S=2]
    # set cookie, skip past mobile rules...


# mobile rules
# ----------------------------------------------------

RewriteRule ^$ /mobile/index.html [S=1,PT]

RewriteRule ^(.*)$ /mobile/$1 [PT]
#Weebly Additions End

Nu.[quote=“alchimist, post:1, topic:2259”]
am un website pe un host care ofera doar html.
[/quote]
Se pare ca primesti fix serviciile acceptate atunci cand ti-ai cumparat hosting.

Nu, pentru ca serviciile hosting nu specifica exact ce ofera, specifica doar durata si volumul de date. De altfel, cand am intrebat de php, mi-au spus ce sa fac pentru a-l activa, si chiar a mers la inceput. Nu mi-au spus ca php nu ar intra in pret. Dar mi se pare ca cei care raspund la dialogul cu consumatorul nu sunt prea competenti. Ma gandeam ca aici obtin un raspuns mai clar.

Cum sa nu specifice? Adica sa cumperi un serviciu fara sa stii ce cumperi? Daca nu specifica, nu cumperi.

Eu nu am auzit de asa ceva nici la cel mai obscur hosting cu care am lucrat. Sugestia mea este sa iti ceri bani inapoi si sa alegi alta companie.

Dacă fișierele cu extensia .php merg, atunci încearcă să redenumești fișierele actuale ca .php și să folosești url rewrite să le păstrezi accesibile ca
.html

Hostul este iPage, care am vazut ca e cotat printre cele mai bune. Am facut contract pe 1 an asa ca nu pot oricum sa iau banii inapoi. Am mai avut websitul la ei acum vreo 4 ani si tin minte ca nu a fost nici o problema, de asta am si facut pe 1 an. Oricum e la promotie $2/luna :slight_smile: Problema e ca alti hosts care ofera mai multe, nu au capabilitati comerciale. iPage are (cel putin asa pretinde) protectie mai serioasa pentru operatiuni comerciale si ofera si un vehicul “secure” prin care se pot accepta carti de credit. Dar asistenta clientului vine de undeva din India si dupa ce ca iti raspund dupa o zi, nici nu se prea pricep.

1 Like

Pai toate fisierele presupun ca sunt .html. iPage ofera ca sisteme de constructie a websitului “Weebly” sau “Wordpress”. Astea au avantajul ca sunt simplu de folosit. Scriptul poate fi adaugat direct in pagina, asa cum vrei sa apara. Tabele, poze, chenare, etc pot fi adaugate direct, fara sa scrii o tona de linii, dar au limitari. Nici unul din ele nu include php ca atare, dar inteleg ca pot fi modificate . Eu nu am fisiere .php separate, dar am incercat sa inserez de proba urmatorul script in corpul html:

<body>
    <h1>
        <?php echo "I LOVE PHP!"; ?>
    </h1>
</body>

dar nu apare nimic.

iPage si Weebly? Nu vad pe iPage sa scrie nicaieri ca are php, dar poate sunt eu chior… si chiar si-asa, codul de mai sus n-ar trebui sa ruleze, daca fisierul respectiv este .html in loc de .php …

Mai intai trebuie sa afli ce server web (aplicatie) se regaseste pe serverul oferit de hosting (calculator fizic / masina virtuala). Serverul web poate fi nginx, apache, lighthttpd… In mod normal, doar apache interpreteaza fisierele .htaccess, dar si aici conteaza setarile.
Mai poti incerca sa schimbi extensia fisierelor din .html sau .htm in .php si vezi daca iti merge asa.

Ce ai vrut sa zici mai sus?