Как да настроите Mod_Rewrite

click fraud protection

The Apache уеб сървърът е един от основните градивни елементи на интернет, обслужващ уебсайтове и приложения. Това е сложна система с много опции и една от най-важните е Rewrite Module или накратко "mod_rewrite". В тази статия ще разгледаме употребите на mod_rewrite, след което ще проучим как да го настроите на вашия собствен сайт, базиран на Apache.

Целта на модула за пренаписване на Apache

Целта на този модул е ​​пренаписване на URL адреси по различни полезни начини. Това означава, че когато потребителите пристигнат на уебсайта Ви чрез един URL адрес (или като го въведат, или избират връзка, която го съдържа), те ще "завършат" на друг URL адрес. Има редица причини, поради които може да искате да направите това.

Пренасочване на потребители

Можете да използвате mod_rewrite, за да насочвате потребителите от по-стари, остарели страници, които все още могат да се появяват в резултатите от търсенето, към по-нови, актуални страници. Да предположим например, че имате страница в https://www.mysite.com/review2015; ако някой попадне на това като връзка и го избере, можете да използвате правило за пренаписване, за да го насочите http://www.mysite.com/review2019.

instagram viewer

По-лесно запомняне на URL адреси

Вероятно сте виждали връзки, свързани с електронната търговия с URL адреси като https://www.thestore.net/3d78654954c29ace998658. Разработчиците използват етикети като този, за да се уверят, че артикулите имат уникален идентификатор, но за нетехнически видове е трудно да се запомни.

За щастие, правилото за пренаписване може да ви помогне да публикувате хубав URL адрес, например https://www.thestore.net/notebooks/spiral/3-subject-spiral/, което, когато е последвано, води посетител до този с грозния URL адрес.

Уникални имена на страници

В първите дни на Мрежата беше обичайно да виждате действителното име на файловете на страници, когато посещавате уебсайт. Например, страницата „За нас“ на уебсайта може да бъде „ http://www.someguys.org/about.html."

Но има няколко причини, поради които вече не виждате толкова много. Първият е, че много уебсайтове се управляват от системи за управление на съдържанието, които имат само шепа действителни файлове с страници. Останалата част от съдържанието се добавя динамично, когато страницата се обслужва, така че всички страници може да изглеждат така, сякаш имат един и същ URL адрес, като " http://www.someguys.org/index.php." Пренаписването на URL адреси ви позволява да имате външен вид на тези отделни страници, като същевременно използвате динамична CMS за управление на вашия уебсайт.

Още разбираеми URL адреси

Търсачките класират страниците по-високо, когато имат лесно разбираеми URL адреси. Това означава, че е полезно за уебсайтовете да имат URL адрес като " https://www.thecompany.com/services/consulting" вместо " https://www.thecompany.com/index.php? section = services & page = consulting, "тъй като последната част прилича повече на код, отколкото на URL адрес.

Пренаписването гарантира, че винаги поставяте най-доброто си лице напред, от гледна точка на URL адреса.

Как да настроите mod_rewrite на вашия сайт

Използването на пренаписване на URL на Apache изисква два основни компонента:

  • Активиране на действителния модул за пренаписване в Apache
  • Изброяване на необходимите правила за пренаписване във файл .htaccess.

Докато употребите за пренаписване на URL адреси се прилагат еднакво и за други уеб сървъри като IIS или nginx, mod_rewrite и методите по-долу ще се прилагат само за Apache.

Активирайте функцията за пренаписване в Apache

Първо, ще трябва да включите функцията за пренаписване във вашата инсталация на Apache.

  1. Ще трябва да намерите къде се намира конфигурационният файл на вашия Apache. Това ще зависи от инсталатора, който сте използвали.

    • В Windows трябва да потърсите директория, наречена "/ conf" в директорията за инсталиране на Apache.
    • В популярния инсталатор на XAMPP на macOS той се намира в / Applications / XAMPP / xamppfiles / apache2 / conf.
    • В Linux той ще се появи в директорията / etc / apache2. Във всеки случай търсите файл, наречен „httpd.conf“, „http.conf“ или „apache2.conf“, така че можете да използвате функцията за търсене на вашата операционна система, за да ги търсите.
  2. Отворете конфигурационния файл в текстов редактор, като Бележник на Windows или TextEdit на macOS.

  3. Потърсете реда "#LoadModule rewrite_module modules / mod_rewrite.so" и премахнете хаштага в началото. Това означава коментар, което означава, че когато е там, сървърът на Apache ще игнорира всичко на този ред. Премахнете хаштага и следващия път Apache ще изпълни този ред, когато се стартира.

  4. Запазете конфигурационния файл и рестартирайте сървъра Apache.

  5. Алтернативно, на някои версии на Linux ще видите някои директории като "/ etc / apache2 / mods-available" и "/ ​​etc / apache2 / mods-enabled." Те съдържат битове конфигурационни файлове, които са събрани динамично. В този случай можете да изпълните следните команди, за да активирате първо модула за пренаписване, след което рестартирайте сървъра Apache:

    sudo a2enmod пренаписване
    systemctl рестартирайте apache2
  6. Сега вашият сървър Apache е готов да пренапише URL адресите вместо вас. Едва сега трябва да му кажете кои да пренапишете и при какви обстоятелства.

Определяне на правила за Mod_Rewrite на вашия сайт

Ще трябва да дефинирате правилата за mod_rewrite, като използвате езика на регулярния израз. За щастие има налична помощ. За дадено пренаписване, което искате да активирате, можете да използвате инструмент като генератора на правила на VisioSpark.

  1. Въведете URL адреса, от който искате да презапишете, т.е. този, който потребителят ще въведе, в От: поле.

  2. Въведете URL адреса, на който искате да пренапишете, т.е. този, на който ще се окаже потребителят, в Да се: поле.

    Генераторите на правила за пренаписване на GUI могат да ви спестят усилията за изучаване на RegEx
  3. Изберете контролата Captcha, след което изберете Отивам. След това генераторът трябва да предостави резултат, започвайки с "RewriteRule.

    Ако случайно намерите друг генератор, тези стъпки може да са малко по-различни, но да се надяваме в същата игра.

Въвеждане на Mod_Rewrite правила за вашия сайт

Така че това е чудесно, посочете и кликнете начин да направите тези правила. Но къде ги поставяте?

За да използвате правила на уебсайт, ще трябва да създадете файл, наречен ".htaccess" в корена на уебсайта. Това донякъде зависи от платформата, където се съхраняват файловете за определен уебсайт, но ще трябва да го разберете, за да разположите уебсайта си там на първо място.

Вече може да има файл с това име. Ако е така, страхотно! Можете просто да добавите вашите редове към този файл.

  1. Създайте нов текстов файл с името ".htaccess"в корена на вашия уебсайт.

  2. В първия ред въведете кода по-долу. Това казва на сървъра, че искате да активирате пренаписването за текущия уебсайт.

    RewriteEngine включен
  3. След това добавете всеки от редовете, които сте създали с генератора. Началото на нашия файл ще изглежда така:

    RewriteEngine включен
    RewriteRule ^ тетрадки / спирала / 3-обект-спирала / $ / 3d78654954c29ace998658? &% {QUERY_STRING}
  4. Както при всяка промяна на конфигурацията на Apache, добре е да рестартирате сървъра.

Използването на Mod_Rewrite отнема време, но резултатите си заслужават

Използването на функцията mod_rewrite на Apache определено изисква малко усилия. Трябва да се занимавате с текстови конфигурационни файлове, да измислите начин да вкарате много фини регулярни изрази в тези файлове и да знаете как ръчно да спрете и рестартирате услугата. Вероятно ще са необходими много опити и грешки, преди да получите нещо, което не води до грешка и се държи правилно.

Въпреки това, след като го хванете, ще получите голяма полза от mod_rewrite. Посетителите ви ще могат по-добре да запомнят вашите URL адреси и класирането ви в Google вероятно ще се подобри. Получените "красиви URL адреси" в края на краищата не са само за показване. Те също са функционални.

instagram story viewer