SEO позициониране от PHP и Apache

Съдържание
Важна част от SEO техниките са приятелските URL адреси, които се характеризират с това, че лесно се запомнят от потребителя, описват съдържанието на мрежата и са лесни за писане.
В този урок ще научим как да правим приятелски URL адреси в PHP, така че нашият софтуер да връща SEO URL адреса въз основа на заглавието.
За целта ще създадем PHP функция, която ще отговаря за превода на фраза, която може да бъде взета от база данни или въведена във формуляр, и да я преобразува в удобен за търсачките URL адрес.
Функцията ще бъде:

Изображението е изпратено

Тази функция преминава през фразата символ по символ и замества тези, които може да не са четими от браузърите.
Пример за преобразуване на URL адрес:
<? $ title = 'регистрация за състезанието';
$ url = getUrlAmigable (utf8_decode ($ заглавие)); ?> var13 ->

URL адресът ще бъде
регистрация за състезание
Тук можете да видите пример как би било за Twitter и различни приятелски URL адреси

Изображението е изпратено

Когато кодът за преобразуване работи, трябва да създадем файл, който да комуникира със сървъра на Apache и да позволи на мрежата да разбере нашите приятелски URL адреси.
Създаваме прост текстов файл, наречен .htaccess в главната директория на мрежата, където е нашият файл index.php.
Във файла .hacess пишем следния код:
# Разрешаване на пренаписване на url
RewriteEngine Вкл
# URL адресът е за .htaccess и не е директория
RewriteBase /
# URL адресът е измислен, не е съществуващ файл на сървъра.
ПрезапишиCond% {REQUEST_FILENAME}! -F
# URL адресът е фиктивен, не е съществуваща директория на сървъра.
ПренапишетеCond% {REQUEST_FILENAME}! -D
# В противен случай това не е съществуващ файл и не е директория. Достъпвам до index.php и присвоявам приятелския url като променлива
RewriteRule ([a-zA-Z0-9 _-] +) $ index.php? Секция = $ 1
Накрая във файла index.php Прочетох променливата, че .hacess

Изображението е изпратено

Важен проблем е сигурността с този метод, тъй като някой може да се опита да инжектира код чрез index.php? Seccion = 'pagina-malionsa', за да избегнем това, ние създаваме регистър на валидни файлове, които могат да бъдат достъпни, тоест физически файлове на сървър.
За това дефинираме след $ section = $ _ GETsection '], масив, който ще съдържа имената на файловете на сървъра.
Така че, ако някой се опита да получи достъп до невалиден URL адрес, той ще бъде пренасочен към страница с грешка или ако не е избрал URL по подразбиране, той ще отиде на страница, наречена home.php.
Можем също да го използваме, за да отидем например в различни раздели на мрежата
URL Продавам къща в барселона
В .htaccess мога да сложа следното правило
#Ако адресът съдържа "im", се изпълнява по -долу RewriteRule
RewriteCond% {REQUEST_URI} им-
Презаписване (. +). Php ./index.php?seccion=inmuebles&cod=$1
по този начин щях да предам заглавието и домашния код като променлива и след това да обработвам по база данни
Продавам къща в Барселона
#Ако адресът съдържа "CL", RewriteRule отдолу се изпълнява
RewriteCond% {REQUEST_URI} CL
-
Презаписване (. +) ./Index.php?section=clientlist&limite=$1
Тук може да е да изброим клиент за номер 50 или клиент 50 според задачата, която искаме да изпълним по -късно в нашата база данни. Ще четем стойностите на променливите в index.php с $ GET, тоест за последния случай ще бъде $ GET ['limit']Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave