Optamú Inneall Cuardaigh (Sinsearach)
Prionsabal
i18n.site
glacann sé ailtireacht leathanach aonair neamh-athnuachan D'fhonn innéacsú cuardaigh a éascú, ginfear leathanach statach ar leith agus sitemap.xml
le haghaidh crawlers.
Nuair a úsáideann crawler an innill chuardaigh User-Agent
den iarratas rochtana, déanfar an t-iarratas a atreorú chuig an leathanach statach trí 302
.
Ar leathanaigh statacha, bain úsáid as link
chun naisc le leaganacha éagsúla den leathanach seo a léiriú, mar shampla :
<link rel=alternate hreflang=zh href="https://i18n.site/zh/.htm">
<link rel=alternate hreflang=en href="https://i18n.site/en/.htm">
Cumraíocht nginx Áitiúil
Tóg an comhad cumraíochta .i18n/htm/main.yml
sa tionscadal taispeána mar shampla
host: i18n-demo.github.io
seo: true
out:
- fs
pkg:
i: i18n.site
md: i18n.site
cdn:
v:
jsd:
Ar dtús, modhnaigh luach host:
thuas chuig d'ainm fearainn, mar xxx.com
.
Ansin, i18n.site -n
, ginfear an leathanach statach san eolaire out/main/htm
.
Ar ndóigh, is féidir leat comhaid cumraíochta eile a chumasú freisin, mar shampla tagairt a dhéanamh ar dtús do chumraíocht main
chun .i18n/htm/dist.package.json
agus .i18n/htm/dist.yml
a chruthú.
Ansin rith i18n.site -n -c dist
ionas go mbeidh an leathanach statach ginte go out/dist/htm
.
Is féidir nginx
a shocrú trí thagairt a dhéanamh don chumraíocht thíos.
map $http_user_agent $botLang {
"~*baidu|yisou|sogou|360|byte" "/zh";
"~*facebookexternalhit|slurp|bot|spider|curl" "/en";
default "";
}
server {
http2 on;
listen 443 quic ;
listen 443 ssl ;
listen [::]:443 quic ;
listen [::]:443 ssl ;
add_header Alt-Svc 'h3=":443";ma=99999;persist=1';
server_name doc.flashduty.com;
ssl_certificate /root/.acme.sh/doc.flashduty.com_ecc/fullchain.cer;
ssl_certificate_key /root/.acme.sh/doc.flashduty.com_ecc/doc.flashduty.com.key;
root /mnt/doc.flashduty.com;
# Ná cuir scripteanna oibrithe freastalaí i dtaisce rófhada
location = /S.js {
add_header Cache-Control "max-age=600";
}
# Socraigh amanna taisce níos faide le haghaidh acmhainní statacha eile
location ~* \.(js|css|htm|html|md|avif|json|ico|xml|rss|gz|mp4|png|svg|txt|webmanifest)$ {
add_header Cache-Control "max-age=999999";
}
# Socraigh an comhad statach a úsáideann an crawler mar iontráil leathanach baile
location = / {
# Mura bhfuil $botLang folamh, ciallaíonn sé rochtain crawler agus atreorú de réir cosán na teanga socraithe
if ($botLang) {
return 301 $botLang/flashduty.htm;
}
add_header Cache-Control "max-age=600";
rewrite ^ /index.html break;
}
# Cumraíocht feidhmchláir aon leathanach
location / {
if ($botLang) {
return 302 $botLang$request_uri.htm;
}
add_header Cache-Control "max-age=600";
rewrite ^ /index.html break;
}
}
server {
server_name doc.flashduty.com;
listen 80;
listen [::]:80 ;
location / {
rewrite ^(.+) https://$host$1 permanent;
}
location /.well-known/acme-challenge/ {
root /mnt/doc.flashduty.com/;
}
}
Cumraigh Stóras Réad Chun Comhaid Statacha a Uaslódáil
Is féidir comhaid statacha a ghiniúint go háitiúil, ach cur chuige níos coitianta ná iad a uaslódáil chuig stóráil réad.
Athraigh out
atá cumraithe thuas go :
out:
- s3
Ansin, cuir ~/.config/i18n.site.yml
in eagar agus cuir an chumraíocht seo a leanas leis :
site:
i18n.site:
s3:
- endpoint: s3.eu-central-003.backblazeb2.com
ak: # access key
sk: # secret key
bucket: # bucket name
# region:
Sa chumraíocht, le do thoil athraigh i18n.site
go luach host:
in .i18n/htm/main.yml
, is féidir stórais iolracha oibiachtaí a chumrú faoi s3
, agus tá an region
réimse roghnach (ní gá go leor siopaí réad an réimse seo a shocrú).
Ansin rith i18n.site -n
chun an tionscadal a athfhoilsiú.
Má d'athraigh tú ~/.config/i18n.site.yml
agus más mian leat ath-uaslódáil, bain úsáid as an ordú seo a leanas i bhfréamheolaire an tionscadail chun an taisce uaslódála a ghlanadh :
rm -rf .i18n/data/seo .i18n/data/public
Cumraíocht cloudflare
Ainm fearainn arna óstáil ag cloudflare
Rialacha Comhshó
Cuir leis na rialacha tiontaithe mar a thaispeántar thíos:
Is é seo a leanas an cód riail, le do thoil modhnaigh an cód "i18n.site" chuig d'ainm fearainn:
(http.host in {"i18n.site"}) and not (
substring(http.request.uri.path,-3) in {".js" ".gz"} or
substring(http.request.uri.path,-4) in {".htm" ".rss" ".css" ".svg" ".ico" ".png" ".xml" ".txt"} or
substring(http.request.uri.path,-5) in {".html" ".avif" ".json"} or
ends_with(http.request.uri.path,".webmanifest")
)
Rialacha Taisce
Cuir rialacha taisce leis mar seo a leanas:
(substring(http.request.uri.path,-4) in {".htm" ".rss"}) or ends_with(http.request.uri.path,"/sitemap.xml") or ends_with(http.request.uri.path,".xml.gz")
Rialacha Atreoraithe
Socraigh na rialacha atreoraithe mar seo a leanas, le do thoil modhnaigh an cód "i18n.site" chuig d'ainm fearainn
(http.host in {"i18n.site"}) and not (
substring(http.request.uri.path,-3) in {".js" ".gz"} or
substring(http.request.uri.path,-4) in {".htm" ".rss" ".css" ".svg" ".ico" ".png" ".xml" ".txt"} or
substring(http.request.uri.path,-5) in {".html" ".avif" ".json"} or
ends_with(http.request.uri.path,".webmanifest")
) and (
http.user_agent wildcard "*bot*" or
http.user_agent wildcard "*spider*" or
http.user_agent wildcard "*facebookexternalhit*" or
http.user_agent wildcard "*slurp*" or
http.user_agent wildcard "curl*" or
http.user_agent wildcard "*InspectionTool*"
)
URL redirect
Roghnaigh atreorú dinimiciúil, modhnaigh /en
i gcosán atreoraithe concat("/en",http.request.uri.path,".htm")
go dtí an teanga réamhshocraithe is mian leat a chur san áireamh in innill chuardaigh.
Cumraíocht Scamaill Chliste Baidu
Más gá duit seirbhísí a sholáthar do mhórthír na Síne, is féidir leat Baidu Smart Cloud a úsáid.
Déantar sonraí a uaslódáil chuig Baidu Object Storage agus a cheangal ar Baidu Content Distribution Network.
Ansin cruthaigh an script i seirbhís imeall EdgeJS
const uri = r.uri, p = uri.lastIndexOf(".");
if (
p < 0 ||
!"|js|css|htm|html|md|avif|json|ico|xml|rss|gz|mp4|png|svg|txt|webmanifest|".includes(
"|" + uri.slice(p + 1) + "|",
)
) {
const ua = r.headersIn["User-Agent"].toLowerCase()
if (/facebookexternalhit|slurp|bot|spider|curl/.test(ua)) {
r.return(
302,
(/baidu|yisou|sogou|360|byte/.test(ua) ? "/zh" : "/en") + r.uri + ".htm",
)
} else {
r.uri = "/index.html"
}
}
r.respHeader(() => {
const t = [], out = r.headersOut;
["Content-MD5", "Age", "Expires", "Last-Modified"].forEach(
i => delete out[i]
)
r.rawHeadersOut.forEach(i => {
const key = i[0].toLowerCase()
if (key.startsWith("x-") || key.startsWith("ohc-")) {
delete out[key]
}
})
out["Cache-Control"] = "max-age=" + 9e5
// Is féidir ceanntásca freagartha a shocrú d'aschur dífhabhtaithe, mar shampla out.XXX = 'MSG';
})
Cliceáil Debug
, ansin cliceáil Foilsigh don líonra iomlán.
Ardúsáid: Dáil Trácht Bunaithe Ar Réiteach Réigiúnach
Más mian leat seirbhísí a sholáthar ar mhórthír na Síne agus más mian leat cloudflare
trácht idirnáisiúnta saor in aisce, is féidir leat DNS
a úsáid le réiteach réigiúnach.
Mar shampla, soláthraíonn Huawei Cloud DNS anailís réigiúnach saor in aisce, lena bhféadfaidh trácht mórthír na Síne dul trí Baidu Smart Cloud, agus is féidir le trácht idirnáisiúnta dul trí cloudflare
.
Tá go leor gaistí i gcumraíocht cloudflare
Seo cúpla pointe le tabhairt faoi deara :
Tá an T-Ainm Fearainn Á Óstáil I DNS
Eile, Conas cloudflare
a Úsáid
Ceangail ainm fearainn treallach le cloudflare
ar dtús, agus ansin úsáid SSL/TLS
→ ainm fearainn saincheaptha chun an príomhainm fearainn a cheangal leis an ainm fearainn seo.
Ní Féidir Teacht Ar cloudflare R2
Trí Ainm Fearainn Saincheaptha
Toisc nach féidir teacht ar an stór réad cloudflare
R2
le hainm fearainn saincheaptha, ní mór stóras réad tríú páirtí a úsáid chun comhaid statacha a chur.
Glacaimid backblaze.com mar shampla chun a léiriú conas rudaí tríú páirtí a cheangal le stóráil ag cloudflare
.
Cruthaigh buicéad ag backblaze.com
, uaslódáil aon chomhad, cliceáil chun an comhad a bhrabhsáil, agus faigh ainm fearainn Friendly URL
, atá f003.backblazeb2.com
anseo.
Athraigh an t-ainm fearainn ó CNAME
go f003.backblazeb2.com
ag cloudflare
agus cumasaigh an seachfhreastalaí.
Modhnaigh cloudflare
de SSL
→ modh criptithe, socraigh go Full
Cuir an riail chomhshó mar a thaispeántar thíos, cuir ar dtús é (tá an tosaíocht is ísle ag an gcéad cheann):
Rewrite to
roghnaigh dinimiciúil agus modhnaigh your_bucketname
in concat("/file/your_bucketname",http.request.uri.path)
go dtí d'ainm buicéad.
Ina theannta sin, sa riail chomhshó cloudflare
thuas, athraítear index.html
go file/your_bucketname/index.html
, agus fanann cumraíochtaí eile mar a chéile.