Ascundere nume fisier php din adresa url

Probleme, intrebari si subiecte legate de Server Apache, setari in fisier htaccess si Gazduire site-uri Web (Hosting).
andras
Mesaje: 430

Ascundere nume fisier php din adresa url

La Multi Ani !

Intrebare: cum fac ca la rularea unei aplicatii sa nu-mi apara numele fisierului PHP in bara URL a browserului? Sau macar terminatia sa fie ascunsa.
(Ex in loc de superbit.ro/casco/comenzi.php sa-mi apara doar superbit.ro/casco/).
Multumesc.

MarPlo
Salut
Se poate cu RewriteRule in .htaccess. De exemplu, acest cod in fisierul .htaccess (serverul Apache trebuie sa aibe activat modulul Mod_Rewrite).

Cod: Selectaţi tot

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

RewriteRule ^casco[/]*$ comenzi.php [NC,L]
RewriteRule ^category[/]*$ fisier.php [NC,L]
</IfModule>
- Cateva ceva despre rescriere adrese url gasesti in tutorialul de pe site: Mod-Rewrite , sau si la cautare pe internet.

andras
Am pus codul in .htacces din root-ul aplicatiei.
Am pus instructiunea:
LoadModule rewrite_module modules/mod_rewrite.so
in fisierul C:\xampp\apache\conf\httpd.conf dar nu vad rezultatul, tot imi apare numele fisierului PHP in URL browser.
Unde am gresit? Mai am un Apache Tomcat in C:apache-tomcat-7.0.30 pe care il folosesc pentru Java. Are legatura? Aplicatia PHP este in C:\xampp\htdocs\casco.

MarPlo
Dupa ce se scrie regula de rescriere in .htaccess, trebuie sa modifici si adresa paginii din link-urile <a href='"> din codul html, cu nou adresa setata cu RewriteRule.

andras
.htaccess merge pe local (am XAMPP v3.2.1 si acolo functioneaza), dar nu merge pe server.
In .htaccess am pus:

Cod: Selectaţi tot

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^com?$ comenzi.php [NC,L]
RewriteRule ^uti?$ utilizator.php [NC,L]
RewriteRule ^lll?$ login.php [NC,L]
</IfModule>
Pe server (cu Apache 2.2) in httpd.conf am pus atit: LoadModule rewrite_module modules/mod_rewrite.so
cit si :

Cod: Selectaţi tot

<Directory />
    Options FollowSymLinks
    AllowOverride None         (asta o pun ca sa ia in considerare .htaccess)
</Directory>
Imi da eroarea: ".htaccess:Options not allowed here".
Care sa fie cauza? Aplicatia pe server este in /var/www/html/casco.

MarPlo
Nu ma pricep la configurari de server, dar din ce am gasit pe internet la cautare dupa acea eroare, incearca sa schimbi:

Cod: Selectaţi tot

AllowOverride None
Cu:

Cod: Selectaţi tot

AllowOverride All
Si "/var/www/" la <Directory>. Cred ca asa:

Cod: Selectaţi tot

<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
Daca nu functioneaza, intreaba la firma de hosting care detine server-ul, sa iti activeze mod-rewrite.
Sau poate stie altcineva care sa raspunda aici.

andras
In varianta asta merge daca am sters :

Cod: Selectaţi tot

Options +FollowSymLinks
din .htaccess. Acum functioneaza fara probleme si pe server. Salut !

Subiecte similare