RewriteCond og RewriteRule bragðarefur fyrir .htaccess

Apache vefur framreiðslumaður er með einingu sem kallast "mod_rewrite". Það gerir ráð fyrir að beina og breyta umbeðnum vefslóð. Hér að neðan eru nokkrar vinsælustu breytingar og tilvísanir sem hægt er að framkvæma. Settu þessar skipanir í ".htaccess" skrá í skjalrót af vefnum. Í röð af vinsældum:

#1. Beina öllu undir undirlén www

Með eða án "www"? Ekki svona erfitt spurning að teknu tilliti til þess að þú getir svarað bæði og beina einum. Þessi útskrift, sem hægt er að sameina við fyrri, beinir öllum óskum í www til www undirlénsins:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond% {HTTP_HOST}! ^ Www \. [NC] RewriteRule ^ (. *) $ Http: //www.% {HTTP_HOST} / $ 1 [R = 301, L] </ IfModule>

Having þinn website á "www" undirlén getur verið gagnleg þegar takast á við CDN eða öryggi þjónustu.

#2. Beina öllu til HTTPS

Það er varla ástæða til að keyra vefsíðuna þína yfir SSL (HTTPS). Einnig er mjög mikilvægt að þú svarar bæði HTTP og HTTPS. Þessi biður rekur allar aðrar HTTPS umferð í HTTPS:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond% {HTTPS}! Á [NC] RewriteRule ^ (. *) $ Https: //% {HTTP_HOST} / $ 1 [R = 301, L] </ IfModule>

Það er mikilvægt að velja eina sanna (Canonical) slóð fyrir SEO ástæður.

#3. PHP skrá til að meðhöndla allar beiðnir sem ekki eru truflanir

Einnig þekktur sem framan stjórnandi mynstur. Þetta kerfi er grundvöllur fyrir hvaða vefur ramma. Í PHP leyfir þú þér að lesa raunverulegan óskaðan slóð í $ _SERVER ['REQUEST_URI'] heimsvísu. Umritið lítur svona út:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond% {REQUEST_FILENAME}! -d RewriteCond% {REQUEST_FILENAME}! -f RewriteRule ^ (. *) $ Index.php [QSA, L] </ IfModule>

Athugaðu að PHP skráin er framhjá fyrir núverandi skrár (truflanir efni).

#4. Umritaðu GET breytu við vefslóð

Ef þú ert með slóð sem þú ættir að hringja með "GET / pantanir? Id = 13" og þú vilt að það svari eins og "GET / pantanir / 13" var kallað þá geturðu notað eftirfarandi:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond% {REQUEST_URI} ^ / pantanir [NC] RewriteCond% {QUERY_STRING} ^ id = ([0-9] +) $ [NC] RewriteRule ^ (. *) $ / $ 1 / % 1 \? [R, L] </ IfModule>

Þetta er sérstaklega gagnlegt þegar flutningur á vefslóðum er flutt og þörf er á niðurgreiðslum. Athugaðu hvernig slökkt spurningamerki í lok "RewriteRule" fjarlægir GET breytu (ar).

 

Skildu eftir skilaboð

Þessi síða notar Akismet til að draga úr ruslpósti. Lærðu hvernig ummæli þín eru unnin.

GTranslate Your license is inactive or expired, please subscribe again!