Voit määrittää URL-osoitteiden uudelleenohjaussäännöt JSON-tiedostossa.
Määritä URL-osoitteiden uudelleenohjaussäännöt seuraavassa muodossa JSON-tiedostoon.
{ "redirectRules": [ { "type": "string", "comment": "this rule is applied first", "expression": "/index.htm", "location": "/home.html" }, { "type": "wildcard", "expression": "/items/*?page=*", "location": "/<$page$>?item=<$wildcard(1)$>", "code": 302 } ] }
JSON-tiedoston ulompi rakenne on taulukko. Taulukko sisältää yksittäisiä sääntöjä.
"string"
-säännöt arvioidaan ensin, minkä jälkeen "wildcard"
-säännöt arvioidaan järjestyksessä. Jos jokin säännöistä täsmää, myöhempiä sääntöjä ei arvioida ja vastaava uudelleenohjaus luodaan.
Kullakin säännöllä on seuraavat ominaisuudet:
"comment"
-ominaisuus on valinnainen merkkijono, joka ei vaikuta sääntöjen arviointiin. Se sisältää muistiinpanoja tai kommentteja.
"expression"
-ominaisuus on pakollinen merkkijono. Sitä verrataan sivuston suhteelliseen saapuvaan URL-osoitteeseen. Yleismerkkisäännössä tähtimerkki (*
) vastaa nollaa tai useampaa merkkiä.
"location"
-ominaisuus on pakollinen merkkijono, joka ilmaisee uudelleenohjauksen sijainnin tai kohteen. Uudelleenohjaus voi olla täydellinen tai suhteellinen URL-osoite.
"code"
-ominaisuus on valinnainen kokonaisluku, joka määrittää uudelleenohjauksen lähetyksessä käytettävän HTTP-vastauskoodin. Arvon on oltava jokin seuraavista kokonaisluvuista:
301: Ilmaisee, että resurssi on siirretty pysyvästi. Tämä on oletusarvo, jos "code"
-ominaisuutta ei ole määritetty.
301: Ilmaisee, että resurssi on siirretty väliaikaisesti.
"type"-ominaisuus on valinnainen merkkijono, joka ilmaisee uudelleenohjaussäännön tyypin. Arvon on oltava jokin seuraavista merkkijonoista:
"string"
määrittää nopean säännön, jonka lausekkeen on vastattava koko syötettyä URL-osoitetta täsmälleen.
"wildcard"
määrittää yleismerkkisäännön, joka voi vastata useita URL-osoitteita. Tämä on oletusarvo, jos ominaisuutta ei ole määritetty.
Sijaintimerkit
Voit luoda uudelleenohjauksen sijainnin käyttämällä sijaintimerkkejä. Seuraavista sijaintimerkeistä on apua uudelleenohjauksen määrityksessä:
<$urlPath$>
: täsmänneen URL-osoitteen polkuosa.
<$urlQueryString$>
: koko URL-kyselymerkkijono täsmänneestä URL-osoitteesta.
<$urlQueryStringExcept(name1,name2)$>
: koko URL-kyselymerkkijono täsmänneestä URL-osoitteesta nimettyjä parametreja lukuun ottamatta.
<$wildcard(N)$>
: täsmänneen URL-osoitteen yleismerkkien vastaavuuksien järjestysnumero, joka alkaa yhdestä. (Tämä vastaa säännöllisten lausekkeiden \1..\9
-merkintöjä.)
<$name$>
: nimetyn kyselymerkkijonon parametrin arvo. Jos syötteenä on esimerkiksi kyselymerkkijono msmith: ?page=42
, voit lisätä sijaintiin arvon '42'
käyttämällä sijainnissa merkkiä <$page$>
.
Rajoitukset
Seuraavat rajoitukset koskevat koko redirects.json
-tiedostoa sekä sen sisältämiä sääntöjä:
Oracle Content Management -järjestelmän suurin hyväksytty tiedoston koko on 250 kt.
redirects.json
-tiedostossa saa olla enintään 1 000 sääntöä.
Säännön "expression"
-arvon enimmäispituus on 1 000 merkkiä.
Säännön "location"
-arvon enimmäispituus on 2 000 merkkiä.
Yleismerkkisäännön '*'
-merkkien enimmäismäärä on 10.
Esimerkki merkkijonojen vastaavuudesta
Sääntö:
{ "type": "string", "expression": "/old/page.jsp?id=material&type=glass", "location": "/new/<$id$>.htm" }
Seuraava URL-osoite täsmää säännön kanssa:
/old/page.jsp?id=material&type=glass
Tuloksena on seuraava sijainti: /new/material.htm
Koko URL-osoite täsmää kyselymerkkijono mukaan lukien.
Vaikka <$id$>
-arvoa käytetään sijainnissa, se ei ole välttämätöntä tässä esimerkissä, koska vain yksi mahdollinen kyselymerkkijono voi täsmätä säännön kanssa. Sijainniksi olisi voinut kirjoittaa /new/material.htm
.
Seuraavat URL-osoitteet eivät täsmää säännön kanssa:
/old/page.jsp
(Säännön lauseke tuottaa kyselymerkkijonon, jonka on täsmättävä.)
/old/page.jsp?id=material&type=glass&index=2
(Verrattavassa URL-osoitteessa oleva ylimääräinen &index=2
ei vastaa säännön lauseketta täsmälleen.)
/old/page.jsp?type=glass&id=material
(Kyselymerkkijonon parametrien järjestyksen on täsmättävä "string"-säännöissä.)
Esimerkki yleismerkkien vastaavuudesta
Sääntö:
{ "type": "wildcard", "expression": "/old/*/pages/*?id=*&item=sheet-*", "location": "/new/<$id$>/<$wildcard(4)$>.html" }
Seuraavat URL-osoitteet täsmäävät säännön kanssa:
/old/phones/android/pages/info.asp?id=XT1045&item=sheet-specs
Tuloksena on seuraava sijainti: /new/XT1045/specs.html
URL-osoitteen polkuosa täsmää, joten vastaavuuksia etsitään myös kyselymerkkijonosta.
Tämän esimerkin parametrit ovat samassa järjestyksessä kuin säännön lausekkeen parametrit, mutta tämä ei ole pakollista.
/old/phones/android/pages/info.asp?item=sheet-specs&id=XT1045
Tuloksena on seuraava sijainti: /new/XT1045/specs.html
URL-osoitteen polkuosa vastaa säännön lausekkeen kysymysmerkkiä (?
) edeltävää osaa, joten myös parametrien vastaavuus tarkistetaan.
Parametrit ovat eri järjestyksessä säännön lausekkeessa, mutta parametrien vastaavuus tarkistetaan yksitellen.
/old/phones/android/pages/info.asp?id=XT1045&item=sheet-specs&unrelated=thing
Tuloksena on seuraava sijainti: /new/XT1045/specs.html
URL-osoitteen polkuosa täsmää, joten vastaavuuksia etsitään myös kyselymerkkijonosta.
Verrattavassa URL-osoitteessa on ylimääräinen &unrelated=thing
-parametri, mutta koska säännön lausekkeen nimetyt kyselyparametrit täsmäävät, säännön katsotaan täsmäävän.
unrelated
-parametri olisi tässä tapauksessa käytettävissä sijainnissa <$unrelated$>
-merkkinä ja sen arvo olisi thing
, vaikka se ei vaikuttanut säännön vastaavuuteen.
Seuraavat URL-osoitteet eivät täsmää:
/old/pages/info.jsp
(URL-osoitteen polkuosa ei vastaa säännön lausekkeen polkuosaa.)
/old/phones/android/pages/info.asp
(URL-osoitteen polkuosa vastaa säännön lausekkeen polkuosaa, mutta säännön lausekkeen kyselyparametrit eivät täsmää.)
/old/phones/android/pages/info.asp?id=cellular
(URL-osoitteen polkuosa vastaa säännön lausekkeen polkuosaa, mutta kaikki säännön lausekkeen kyselyparametrit eivät täsmää.)
Merkkitaulukon määritys
Voit myös luoda merkkimääritysten taulukon redirects.json
-tiedostoon. Se on hyödyllinen konfiguroitaessa uudelleenohjauksia, joissa tuetaan useita vaihtoehtoisia URL-osoitteita. Siten voit suorittaa uudelleenohjauksen oikein saapuvan URL-osoitteen ominaisuuksien perusteella.
Käytä seuraavaa muotoa redirects.json
-tiedostossa, jotta voit määrittää merkkejä uudelleenohjaussääntöjen URL-osoitteissa.
{ "tokenDefinitions": [ { "token": "sitePrefix", "type": "hostmatch", "expresion": "example.com" "value": "" }, { "token": "sitePrefix", "type": "hostmatch", "expresion": "*.com" "value": "/site/Starter-Site" }, { "token": "gotoRedirect", "type": "pathmatch", "expresion": "*oracle*" "value": "https://www.oracle.com" "flags": "caseinsensitive" }, ] }
tokenDefinitions-kohteilla on seuraavat ominaisuudet:
"token"
: määritettävän merkin nimi.
"type"
: jokin seuraavista:
"hostmatch"
saapuvan URL-osoitteen pääkoneen arvon vastaavuusmääritystä varten.
"pathmatch"
saapuvan URL-osoitteen polun nimen arvon vastaavuusmääritystä varten.
"querymatch"
saapuvan URL-osoitteen kyselyn arvon vastaavuusmääritystä varten.
"expression"
: Vastaavuusmäärityksessä käytettävä lauseke. Yleismerkkejä tuetaan.
"value"
: merkissä käytettävä arvo.
"flags"
: lausekkeen vastaavuusmäärityksessä otetaan oletusarvoisesti huomioon kirjainkoko, paitsi jos kohdassa flags
arvoksi on määritetty caseinsensitive
Merkin arvoa laskettaessa tokenDefinitions
-taulukko luetteloidaan järjestyksessä. Käytetään ensimmäistä vastaavaa määritystä. Jos yksikään merkkimääritys ei vastaa merkkiä, käytetään tyhjää merkkijonoa. Tarkoituksenmukaisuuden ja suorituskyvyn takaamiseksi usein käytetyt merkit kannattaa sijoittaa tokenDefinitions
-listan kärkeen.
tokenDefinitions
-kohteilla on seuraavia rajoituksia:
Voit luoda enintään 250 merkkimääritystä.
token
-kohteen nimessä on oltava alle 100 merkkiä.
expression
-kohteessa voi olla enintään 10 yleismerkkiä.
expression
-kohteessa on oltava alle 1000 merkkiä.
value
-kohteessa on oltava alle 1000 merkkiä.
Esimerkki
Sinulla voi olla esimerkiksi seuraava redirects.json-tiedosto:
{ "redirectRules": [ { "type": "string", "expression": "/legacy-privacy-policy.html", "location": "<$pathPrefix$>/about/new-privacy-policy.html" }, ] "tokenDefinitions": [ { "token": "pathPrefix", "type": "hostmatch", "expression": "vanity.com" "value": "/fashion" }, ] }
Tässä tapauksessa location
-ominaisuudella on <$pathPrefix$>
-merkki. pathPrefix
-merkki on määritetty tokenDefinitions
-osassa. Jos saapuva URL-osoite vastaa toimialuetta "vanity.com", pathPrefix
-kohteen arvoksi määritetään /fashion
. Sitä käytetään location
-vastauksessa, ja tuloksena on /fashion/about/new-privacy-policy.html
.
Oletetaan, että ensimmäinen henkilökohtaisen toimialueen URL-osoite on http://example.com/legacy-privacy-policy.html
. Se vastaisi ensimmäistä ja ainoaa uudelleenohjaussääntöä.
Tämän säännön määritetty location
on <$pathPrefix$>/about/new-privacy-policy.html
. Tässä tapauksessa <$pathPrefix$>
-merkki on arvioitava. Sitä varten tokenDefinitions
-taulukko on luetteloitava vastaavuuden löytämiseksi.
Ensimmäinen merkkimääritys otetaan huomioon. Jos token
on sopiva, sen arviointia jatketaan. Lausekkeen vanity.com
ei vastaa saapuvaa URL-osoitteen toimialuetta example.com
, joten tämä määritys ei täytä vaatimuksia, ja luettelointia jatketaan.
Tässä vaiheessa ei merkkimäärityksiä ei ole enempää, joten <$pathPrefix$>
-merkin arvolle käytetään tyhjää merkkijonoa. Viimeinen tälle uudelleenohjaukselle palautettu sijainti on /about/new-privacy-policy.html
.
Oletetaan, että toinen henkilökohtainen toimialueen URL-osoite on http://vanity.com/legacy-privacy-policy.html
. Kuten ensimmäisenkin URL-osoitteen kohdalla, tämän säännön määritetty location
-kohteen arvo on <$pathPrefix$>/about/new-privacy-policy.html
. Tässä tapauksessa <$pathPrefix$>
-merkki on arvioitava. Sitä varten tokenDefinitions
-taulukko on luetteloitava vastaavuuden löytämiseksi.
Ensimmäinen merkkimääritys otetaan huomioon. Nytkin token
on sopiva, joten sen arviointia jatketaan. Lausekkeen vanity.com
vastaa saapuvan URL-osoitteen toimialuetta vanity.com
, joten tämä määritys täyttää vaatimukset, ja merkin arvona käytetään arvoa /fashion
.
Koska merkille löytyi vastaavuus, merkkimääritystaulukon luettelointi keskeytetään, ja lopulliseksi sijainniksi lasketaan /fashion/about/new-privacy-policy.html
.
Sivuston uudelleenohjausten testaus
Voit testata sivuston uudelleenohjaukset sivuston muokkauksen yhteydessä avaamalla Asetukset-paneelin ja valitsemalla Uudelleenohjaukset. Syötä testattava URL-osoite ja valitse Testaa.