» »

.htaccess | IIS | ISAPI_Rewrite

.htaccess | IIS | ISAPI_Rewrite

salabajs ::

Pozdravljeni.

Ustvariti moram .htaccess datoteko in ker še s tem nisem delal se obračam na vašo pomoč.

Torej uporabiti moram zadevo: ISAPI_Rewrite in preko nje ustvariti omenjeno datoteko. V njej bi rad naredil preusmeritve oz. preimenovanja URL.

Primer:

Trenutno: local../podrobni_opis.asp?ID_Igrace=10
Lahko pa bi vnesel: local../Vrtna-hišica-Cottage (zdaj ne vem če so šumniki dovoljeni itd)

Bi pa moral zadevo nujno naredit - nimam veliko časa..

Mi lahko kdo pomaga?

Hvala.

Lp.

darkolord ::

Kateri IIS?

salabajs ::

Internet Information Services (Version 7.5.7600.16385)

darkolord ::

Fino. A moraš uporabiti prav ISAPI Rewrite?

Če ne, ti priporočam, da namestiš URL Rewrite, ki je izredno enostaven za uporabo (lahko uporabiš copy paste pa ti sam predlaga vzorce, prav tako lahko opravi zamenjavo URLjev v izhodnih dokumentih (torej imaš v dokumentu recimo &lta href="/podrobni_opis.asp?ID_Igrace=10">, pa ti sam zamenja v &lta href="/Vrtna-Hišica-Karkoli-10">)

salabajs ::

Moram si to namestit, ja.. Tako da moram preko tega rešit..

darkolord ::

Kje se ti pa ustavi?

salabajs ::

V bistvu še začel nisem, ker niti ne vem kje začet.. Kaj pisat.. sintaksa.. itd. Niti ne vem kako zgledajo zadevo.. Malo sem guglal pa koliko razumem je to neka mešanica regularnih izrazov..

techfreak :) ::

Za /Vrtna-hišica-Cottage-10 bi pri mod_rewrite napisal:
RewriteRule ^(.*)-([0-9]+)$ podrobni_opis.asp?ID_Igrace=$2 


Glede na dokumentacijo rewrite ISAPI bi za delovanje potreboval nekaj takšnega:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)-([0-9]+)$ podrobni_opis.asp?ID_Igrace=$2 [QSA]

salabajs ::

Jaz bi zdaj s tem dosegel, da bi se teh "parametrov" znebil in bi samo vnesel naziv igrače, ne.. Kje mu pa naj določim, da on ve da more za vsako to vzet? + Kaj bi moral v bazi prej ustvarit dodatni stolpec kjer bi imel prilagojene naziv (presledke zamenjam z "-", šumniki ven ali lahko ostanejo?! itd.) ?

darkolord ::

V veliki večini primerov se to naredi, da imaš naziv artikla, nekje vmes pa še njegov ID, npr. takole:

trgovina.com/Igrace/Vrtna-hisica-Cottage-10
trgovina.com/Igrace/10/Vrtna-hisica-Cottage
...


Če pogledaš recimo mimovrste:
www.mimovrste.com/artikel/3450000921/brivnik-philips-pt710-powertouch


V takem primeru imaš še zmeraj lepe URLje, zamenjava je pa čisto enostavna. Če bi pa res rad brez kakršnih koli IDjev, potem se zadeve kar malo zakomplicirajo. Vprašanje, če se sploh da s tem ISAPI_Rewrite.

Zgodovina sprememb…

  • spremenilo: darkolord ()

salabajs ::

Kako bom realiziral statični link je prepuščeno meni, pač v QueryString-u ne sme več biti klicajev, parametrov, vrednosti..

Torej jaz sedaj ustvarim samo datoteko .htaccess in vanjo vpišem

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)-([0-9]+)$ podrobni_opis.asp?ID_Igrace=$2 [QSA]


Kako pa preverim če dela? Grem v brskalnik pa local../Vrtna-hisica-Cottage ?
Kje pa on zdaj zamenja presledke za "-" in šumnike?

darkolord ::

Preberi še enkrat moj prejšnji post.

salabajs ::

Aha.. torej bi že v sami bazi imel naziv shranjen npr: "vrtna-hisica-cottage-10" ? Glede nato, da imam stran, kjer bom izpisal podrobnosti o igrači bi verjetno bilo smiselno naredit posebej stolpec v bazi, kjer bi bil shranjen prilagojen naziv.. Onega "lepega" pa potem uporabim pri izpisu na stran..

darkolord ::

Ne.

Če je v URLju na določenem mestu "10", potem ti ni treba imeti ničesar posebej v bazi.

ISAPI_Rewrite noter dobi:

vrtna-hisica-cottage-10


Na koncu poišče številke in iz tega URLja sestavi:

podrobni_opis.asp?ID_Igrace=10


V takem primeru je lahko tudi:

cisto-vseeno-kaj-tukaj-pise-samo-da-je-ID-na-koncu-10


In boš še zmeraj dobil:

podrobni_opis.asp?ID_Igrace=10

salabajs ::

Aha.. Zdaj te pa razumem.. Da potem on samo "sparsa", da pridobi ID, da ve naredit "povezavo"..

Brez ID-ja pa bi tudi šlo? Na strani sem nekje gledal, da bi si moral ustvariti dodatno datoteko (*.txt), ko bi imel noter povezave npr:

10 Vrtna hišica Cottage
32 Peskovnik Little Tikes Želva s trdim pokrovom
26 Trampolin z zaščitno mrežo, 305 cm
..


Ali kako bi se to dalo rešit?

techfreak :) ::

podrobni_opis.asp bi moral spremeniti, da lahko sprejme naziv izdelka v url obliki (npr. črke od A do z, številke 0-9 in znak minus). Pred tem bi pa moral v bazi dodati novo polje ter vsakemu izdelku prirediti unikaten url.

darkolord ::

Ali pa uporabiš Microsoftov URL Rewrite, ki po defaultu zna brati mappinge iz datotek in baze, z nekaj malega kode pa še iz poljubnega vira.

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

htaccess redirekcija v php datoteko - ne deluje

Oddelek: Programiranje
11837 (694) misek
»

Google font - (č,ž,š) delajo local, na hostu pa ne delujejo

Oddelek: Izdelava spletišč
82338 (2130) neoserv
»

brez .html končnice

Oddelek: Izdelava spletišč
121929 (1369) MisterR
»

mod_rewrite

Oddelek: Izdelava spletišč
111214 (1156) techfreak :)
»

.htaccess rewrite za poddomeno

Oddelek: Izdelava spletišč
71441 (1361) alessio2

Več podobnih tem