Mod rewrite help

Programovacie jazyky, rady, poradňa...
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Mod rewrite help

Príspevok od používateľa Nadeo »

Taakze, mam dalsi problem s mod rewrite-om, potrebujem aby mal link format xxx.com/jedna/12
Cize, jedna je premenna 1 a id, cize 12 je premenna 2. Aj by som to vedel spravit, lenze ked nieje dana premenna 2 tak nejde cela stranka (A pritom potrebujem len pri dvoch stavoch premennej 1)
Zatial mam nieco taketo

Kód: Vybrať všetko

RewriteEngine   on

RewriteCond %{SCRIPT_FILENAME} !(.*.css)
RewriteCond %{SCRIPT_FILENAME} !(.*.png)
RewriteCond %{SCRIPT_FILENAME} !(.*.swf)
RewriteCond %{SCRIPT_FILENAME} !(.*.gif)
RewriteCond %{SCRIPT_FILENAME} !(.*.js)
RewriteCond %{SCRIPT_FILENAME} !(.*.jpg)
RewriteRule (.*) index.php?action=$1&%{QUERY_STRING}
Druha premmena sa bude odovzdavat indexu pod nazvom id

Thanks in advance
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa Holubar »

Dnes som sa trochu hral s mod_rewrite a hned pri prvom pokuse sa objavil problem, ze mi nenatiahlo subor CSS. Vygooglil som nieco, ze riesenie je dat do hlavicky link s absolutnou adresou, ale to mi zase zblbne localhost. Ako sa to da spravit, aby som mohol pouzivat relativne linky a zaroven prepisovat URL?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Re: Mod rewrite help

Príspevok od používateľa chrono »

Ako ti to zblbne ten localhost?

Inak možno by si mohol použiť niečo ako <base href="/"> (samozrejme tú adresu treba upraviť). Prípadne môžeš tú zmenu adries urobiť tak, aby sa neaplikovala pri css.
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa Holubar »

Kód: Vybrať všetko

<link rel="stylesheet" type="text/css" href="http://www.holubar.sk/css/styles.css"/>
Takto mi nacita CSS na localhoste z webu, co mi vadi, ked potrebujem rychlo vyskusat nejake zmeny v styloch na mojom kompe este predtym, ako pustim synchronizaciu s ftp. Preto hladam ine riesenie, ako linkovat css a obrazky cez absolutne adresy.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa audiotrack »

skúšal si ten base čo písal chrono?
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa Holubar »

Trochu som googlil, ale nejak neviem zistit kam to vlastne napisat :oops:
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38515
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa hojko »

A toto nie je riesenie???:

Kód: Vybrať všetko

<link rel="stylesheet" type="text/css" href="http://localhost/css/styles.css"/>
respektive:

Kód: Vybrať všetko

<link rel="stylesheet" type="text/css" href="/css/styles.css"/>
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa Holubar »

audiotrack: V podstate to pomohlo, ale neriesi to problem s localhostom, kedze tam sa teraz vsetko taha z webu. Da sa aj to nejakym sposobom osetrit?

hojko:to druhe som mal doteraz a na webe pri pokuse o rewrite URL to nenatiahlo obrazky ani css
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa audiotrack »

to by bolo treba vidieť to tvoje .htaccess kde máš tie pravidla
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa Holubar »

ako som pisal, bol to len moj prvy pokus -takze ziadne romany

Kód: Vybrať všetko

RewriteEngine On 

RewriteRule ^uvod/$ /index.php?pid=uvod
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa audiotrack »

skús pred to RewriteRule čo tam máš napísať
RewriteRule !\.(css)$

inak nechápem prečo ti tak záleží aby tá cesta k css bola absolútna a nie relatívna
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa Holubar »

Ja praveze chcem, aby bola relativna, lebo vtedy mi aj localhost aj web idu tak ako chcem, iba prepisovanie mi pri relativnych cestach blbne.

//autoeditácia príspevku (30 Mar 2010, 0:52)
A ked tam dam ten riadok, co pises, dostanem Internal Server Error
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa audiotrack »

ešte vidím problém že ti chýba v htaccess riadok
RewriteBase /

ak ani to nepomôže, tak zajtra skúsim pozreť, lebo teraz ma z hlavy už nič rozumné nenapadá
__construct
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 108
Registrovaný: 23 sep 2009, 9:32
Bydlisko: Dark Side of The Moon
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa __construct »

audiotrack napísal:skús pred to RewriteRule čo tam máš napísať
RewriteRule !\.(css)$

inak nechápem prečo ti tak záleží aby tá cesta k css bola absolútna a nie relatívna
Aby to fungovalo tak nie Rule ale Cond ..

takže napr. takto :

Kód: Vybrať všetko

RewriteCond $1 !^((.*)\.(css|js|txt|ico))
osobne ale odporúčam používať toto:

Kód: Vybrať všetko

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
To Ti najprv skontroluje či to čo požaduješ nie je súbor alebo zložka a ak nie je tak potom ho presmeruje podľa pravidiel ..
Holubar
Darca
Darca
Používateľov profilový obrázok
Príspevky: 3894
Registrovaný: 24 feb 2005, 21:26
Bydlisko: Senec
Kontaktovať používateľa:

Re: Mod rewrite help

Príspevok od používateľa Holubar »

Tak ja tomu nerozumiem. Dal som to dnes do povodneho stavu, teda odobral z hlavicky base, na css aj favicon som dal relativne adresy, ako boli doteraz, htaccess som nechal, ako bol vcera a dnes som spustil stranku vo vsetkych prehliadacoch a ide normalne, natiahne styly aj obrazky.

//autoeditácia príspevku (30 Mar 2010, 10:29)
A predsa som nieco zmenil. To prepisanie je teraz na uvod.html namiesto uvod/, cize asi kvoli tomu

//autoeditácia príspevku (30 Mar 2010, 12:34)
Problem pretrvava v pripade, ked prepisujem URL na tvar domena.sk/priecinok/subor.html, cize vzdy ked sa posuniem o level nizsie v priecinkovej strukture, ktora je vlastne vymyslena. Ak by som vsetko daval na domena.sk/subor.html, ide vsetko bez problemov.

//autoeditácia príspevku (30 Mar 2010, 12:43)
Tak som tomu nasiel hacik. Odpoved som nasiel tu:
http://bytes.com/topic/asp-net/answers/ ... file-paths
One gotcha that people sometime run into when using Url Rewriting for the
very first time is that they find that their image and CSS stylesheet
references sometimes seem to stop working. This is because they have
relative references to these files within their HTML pages - and when you
start to re-write URLs within an application you need to be aware that the
browser will often be requesting files in different logical hierarchy
levels than what is really stored on the server.

For example, if our /products.aspx page above had a relative reference to
"logo.jpg" in the .aspx page, but was requested via the
/products/books.aspx url, then the browser will send a request for
/products/logo.jpg instead of /logo.jpg when it renders the page. To
reference this file correctly, make sure you root qualify CSS and Image
references ("/style.css" instead of "style.css")
.
Napísať odpoveď