Pagina 1 din 1

Problema rescriere link

Scris: Joi Mar 20, 2014
de alexinio3d
Salut.
Am o problema cu rescrierea linkurilor .
Cand vreau sa rescriu :

Cod: Selectaţi tot

http://siteu.ro/categorie.php?lang=eng
sub forma

Cod: Selectaţi tot

http://silvoproject.ro/eng/category
numa numi merge .

Acesta ii htaccesul meu :

Cod: Selectaţi tot

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^sitemap.xml sitemap.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^$ index.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?lang=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^category$ categorie.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)/category$ categorie.php?lang=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^category/(.*?)/(.*?)-(.*?)\.html$ categorie.php?lang=$1&id=$2&nume=$3 [NC,L]

<IfModule mod_rewrite.c>
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.silvoproject.ro [NC]
RewriteRule ^(.*)$ http://silvoproject.ro/$1 [L,R=301]
</IfModule>
Unde am gresit oare ??

Problema rescriere link

Scris: Joi Mar 20, 2014
de MarPlo
Salut
Problema e "conflict" intre acele RewriteRule. De exemplu, in:

Cod: Selectaţi tot

RewriteRule ^(.*?)$ index.php?lang=$1 [NC,L]
- codul "^(.*?)$" are caracter general, aici $1 reprezinta toata adresa paginii, fara nici o distinctie, iar in acest caz celelalte reguli de rescriere nu se mai executa.
Ar trebui rescris tot codul, mai simplificat, cu reguli de rescriere RegExp mai exacte la forma adresei paginii din browser, datele ce trebuie extrase din ea si adresa la care sa faca trimitere.
De exemplu:

Cod: Selectaţi tot

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^([^/]+)/category$ categorie.php?lang=$1 [NC,L]
RewriteRule ^(eng|ro|f)$ index.php?lang=$1 [NC,L]