Деньги, как известно, имеют различные функции. Одной из них является непрестанное движение денег в обращении, обслуживание процесса обращения. Без выполнения деньгами этой функции торговля была бы невозможна.

Як стварыць старонкі з SEO-дружалюбнымі URL-адрасамі ў PHP

  1. .htaccess код
  2. PHP: Атрыманне URL
  3. Зыходны код

Вы ніколі не хацелі стварыць для вашых старонак URL для SEO, гэтак жа, як і WordPress з% пастаяннымі спасылкамі% postname? Тут мы абмяркуем, як такія PHP працуюць у PHP. Для таго, каб быць простым, мы ўбачым толькі асноўны працэс, які дазваляе нам выкарыстоўваць seo-friendly URL-адрасы на нашым сайце і як ён будзе распаўсюджвацца на старонках з умоўнымі выказваннямі.

Для таго, каб быць простым, мы ўбачым толькі асноўны працэс, які дазваляе нам выкарыстоўваць seo-friendly URL-адрасы на нашым сайце і як ён будзе распаўсюджвацца на старонках з умоўнымі выказваннямі

Пасля таго, як вы зразумелі логіку, было б лёгка рэалізоўвацца і з базай дадзеных MySQL.

Для SEO-дружалюбных URL-адрасоў яны не з'яўляюцца фактычнымі файламі з аднайменнай назвай, а мы выкарыстоўваем модуль mod_rewrite Apache для рэзервовага капіявання кожнай неабмежаванай старонкі на index.php. Затым Index.php правярае, на якой старонцы ён тэлефанаваў, і ўручную адпраўляе загаловак 200 ОК або 404 Не знойдзены разам з адпаведным зместам.

.htaccess код

Давайце спачатку паглядзім на .htaccess файлавы файл, які вам трэба будзе змясціць у той жа каталог, што і index.php.

.htaccess:

<IfModule mod_rewrite.c> RewriteEngine на RewriteBase / RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. /index.php [L] </IfModule>

Вышэйшы код спачатку пацвярджае, ці ўключаны модуль mod_rewrite. Калі ў выпадку, калі ён не ўключаны на вашым хосте, вы можаце папрасіць хостынгавую кампанію. Для WAMP і XAMPP лёгка ўключыць і адключыць яго ў меню дэмана ў сістэмным трэі.

Калі ў выпадку, калі вы не працуеце ў каранёвым каталогу, вам прыйдзецца таксама змяніць RewriteBase і RewriteRule. прыклад:

RewriteBase / sub / dir /

і

RewriteRule. /sub/dir/index.php [L]

PHP: Атрыманне URL

Цяпер давайце паглядзім на наш код для index.php :

<? php $ url = strtolower ($ _ SERVER ["REQUEST_URI"]); while (preg_match ("/ \ / \ //", $ url)) {// выдаляе двайныя касую рысу $ url = str_replace ("//", "/", $ url); } $ url = explode ("?", $ url); // выдаляе радок запыту $ url = explode ("/", $ url [0]); // выдаляе радок запыту array_shift ($ url); // выдаляе першы элемент масіва, які з'яўляецца пустым print_r ($ url); ?>

Пасля доступу http: // site / sub / dir / contact , мы атрымаем наступны вынік:

выхад:

Array ([0] => sub [1] => dir [2] => кантакт)

Цяпер мы пачнем, каб паказаць нашу старонку. Дадайце наступныя радкі ў канцы index.php :

if ($ url [2] == "") {header ("HTTP / 1.1 200 OK"); рэха "дом"; } elseif ($ url [2] == "contact") {header ("HTTP / 1.1 200 OK"); рэха "кантакт"; } else {header ("HTTP / 1.1 404 Не знойдзена"); рэха "404"; }

Як бачыце, мы тут выкарыстоўвалі простую if, elseif, іншую. У выпадку доступу да кораня каталога $ url [2] будзе пустым. Гэта пакажа хатнюю старонку. Калі $ url [2] з'яўляецца "кантактным", ён будзе паказваць старонку кантактаў, а калі яшчэ нешта іншае, мы лічым, што карыстальнік спрабаваў атрымаць доступ да старонкі, якая не знаходзіцца на нашым сайце, таму адлюстроўваецца 404 старонкі.

Мы адпраўляем http загалоўкі з дапамогай функцыі header (). Тады мы выкарыстоўвалі рэха толькі для нашага разумення. Тут вы можаце дадаць функцыю include () для ўключэння фактычнага файла або зменных для захоўвання імя старонкі, а затым раздрукаваць увесь шаблон з файламі загалоўка, бакавой панэлі і ніжняга колонтитула.

Калі вы ў любы момант вырашыце дадаць на свой сайт пад-старонкі, вам трэба будзе стварыць укладзены, калі пад яго бацькоўскім URL-адрасам у $ url [2]. У гэтым выпадку ваша старонка будзе даступная як $ url [3].

Канчатковы код у index.php выглядае наступным чынам:

<? php $ url = strtolower ($ _ SERVER ["REQUEST_URI"]); while (preg_match ("/ \ / \ //", $ url)) {$ url = str_replace ("//", "/", $ url); } $ url = explode ("?", $ url); $ url = explode ("/", $ url [0]); array_shift ($ url); // print_r ($ url); if ($ url [2] == "") {header ("HTTP / 1.1 200 OK"); рэха "дом"; } elseif ($ url [2] == "contact") {header ("HTTP / 1.1 200 OK"); рэха "кантакт"; } else {header ("HTTP / 1.1 404 Не знойдзена"); рэха "404"; }?>

Зыходны код

index.php

<? php $ url = strtolower ($ _ SERVER ["REQUEST_URI"]); while (preg_match ("/ \ / \ //", $ url)) {$ url = str_replace ("//", "/", $ url); } $ url = explode ("?", $ url); $ url = explode ("/", $ url [0]); array_shift ($ url); // print_r ($ url); if ($ url [2] == "") {header ("HTTP / 1.1 200 OK"); рэха "дом"; } elseif ($ url [2] == "contact") {header ("HTTP / 1.1 200 OK"); рэха "кантакт"; } else {header ("HTTP / 1.1 404 Не знойдзена"); рэха "404"; }?>