That's the wayOriginally posted by geosoft
[b]cred ca am sa scap de curand de problema asta... m-am suparat... m-am dus la rnc sa-mi iau domeniu
Bravo.
That's the wayOriginally posted by geosoft
[b]cred ca am sa scap de curand de problema asta... m-am suparat... m-am dus la rnc sa-mi iau domeniu
Bravo.
Co-founder of Deepstash. Tech lover. Dinosaur. Dad. Chef.
Mi se intampla o chestie ciudata cu mod_rewrite si nu stiu cum sa scap de ea.
Vreau sa fac un url rewriting din http://site/produs.php?id=x in http://site/produs/x.php .
In .htacces am scris urmatoarea regula:
RewriteRule ^produs/(.+).php$ produs.php?id=$1 [R=301,L]
Imi da urmatoarea eroare: "No input file specified."
Daca schimb "produs" din expresia regulata cu orice alt string, merge.
Ex. care merge:
RewriteRule ^prod/(.+).php$ produs.php?id=$1 [R=301,L]
Insa m-ar interesa foarte mult sa reusesc sa-l fac sa mearga in primul caz. S-a mai lovit cineva de problema asta?
nu merge așa?
RewriteRule ^(.*)produs/(.*)$ $1/produs.php?id=$2 [L]
Nu cred ca e ceva in neregula cu expresia regulata.
Am incercat varianta ta, aceeasi eroare.
Daca schimb din "produs" in "prod" sau orice alt string in expresia regulata merge fara absolut nici o problema. E un fenomen ciudat, daca ai acelasi string si in expresia regulata si in url-ul norma, da eroarea aia ciudata. Inclin sa cred ca tine mai mult de configurarea apache-ului..dar, nu-mi pot da seama ce ar putea fi.
hai sa facem vice versa :lol: redenumeste produs.php in prod.php (na - acuma depinde de cine mai e legat produs.php ) si in .htaccess pui /produs/
Mda, ar merge. Dar nu prea vreau sa ocolesc problema, ci sa o rezolv. In fond, nu am de redenumit doar produs, ci multe alte pagini. Asta ar insemna ca trebuie sa ma apuc sa modific tot site-ul. Trebuie sa existe o solutie...
RewriteRule ^produs/(.+).php$ produs.php?id=$1
Ai incercat asa ?
Nu ai nevoie de R (ceea ce inseamna ca este un redirect extern, si nu intern)
De R aveai nevoie de daca faceai redirectoru din domeniu.ro in http://www.domeniu.ro de ex.
L inseamna ca acea linie este ultima regula de rewrite. Cumva mai avea vreo linie de rewrite dupa cea cu L ? Poate de aceea nu merge.
Co-founder of Deepstash. Tech lover. Dinosaur. Dad. Chef.
Nu pot sa faci rescriere de linkuri dintr-un fisier php existent, spre unul inexistent. Doar invers e posibil. Iti sugerez sa il faci .html:
sau chiar director:Cod:RewriteRule ^produs/([a-zA-Z0-9-]+).html$ produs.php?id=$1 [L]
Nu ai nevoie de redirect.Cod:RewriteRule ^produs/([a-zA-Z0-9-]+)/?$ produs.php?id=$1 [L]
Numai bine!
Am incercat in fel si chip, ma gandesc ca mai bine pun eu tot .htaccess-ul, poate isi sa da seama cineva din ce cauza nu merge.
Site-ul pt care vreau sa fac redirectarea e un subdomeniu, sa zicem http://subdomeniu.domeniu.ro. Vreau ca din URL-ul http://subdomeniu.domeniu.ro/produs.php?id=x sa ma duc in http://subdomeniu.domeniu.ro/produs/x.html . Ultimul .htaccess care l-am probat si nu mergea este urmatorul:
Cand incerc sa accesez http://subdomeniu.domeniu.ro/produs/x.html imi zice:Cod:Options +FollowSymLinks RewriteEngine On RewriteBase /subdomeniu RewriteRule ^produs/([a-zA-Z0-9-]+).html$ produs.php?id=$1 [L]
In log-ul de eroare am ceva super ciudat de genul:Cod:No input file specified.
Ce anume este in neregula?Cod:[Tue Aug 23 13:56:44 2005] [error] [client a.b.c.d] File does not exist: /var/www/subdomeniu/favicon.ico
Hai ca am reusit sa rezolv pana la urma, postez si codul pt cine are nevoie.
De asemeni, am trecut de la parametrul "id" in URL la parametrul nume pt ca , din cate am inteles eu, daca cineva cauta "nume produs" si numele fisierului din site-ul meu este nume-produs.html, am sanse mai mari sa apar intre primele rezultate decat daca aveam "X.html", unde x era id-ul produsului. Problema de care ma lovesc acum e urmatoarea: numele produsului poate fi format si din 2 cuvinte. Partea nasoala e ca, in cazul asta, URL-ul paginii va fi ceva de genul http://site/nume%20produs.html, iar eu vreau sa-mi apara http://site/nume-produs.html . Cum as putea sa fac chestia asta?Cod:Options +FollowSymLinks Options +MultiViews RewriteEngine on RewriteBase / RewriteRule ^([^/]+)/(.+).html$ /$1?nume=$2 [L]
Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)