Jak nastavit Mod_Rewrite

click fraud protection

The Apache webový server je jedním z hlavních stavebních kamenů internetu, sloužící webům a aplikacím. Je to složitý systém s mnoha možnostmi a jedním z nejdůležitějších je modul přepsání, zkráceně „mod_rewrite“. V tomto článku se podíváme na použití mod_rewrite a poté prozkoumáme, jak to nastavit na vašem vlastním webu založeném na Apache.

Účel modulu Apache Rewrite

Účelem tohoto modulu je přepisování adres URL různými užitečnými způsoby. To znamená, že když uživatelé přijdou na váš web pomocí jedné adresy URL (buď zadáním nebo výběrem odkazu, který jej obsahuje), „skončí“ na jiné adrese URL. Existuje několik důvodů, proč byste to mohli chtít udělat.

Přesměrování uživatelů

Mod_rewrite můžete použít k přesměrování uživatelů ze starších zastaralých stránek, které se mohou stále zobrazovat ve výsledcích vyhledávání, na novější a aktuální stránky. Předpokládejme například, že máte stránku na https://www.mysite.com/review2015; pokud na ně někdo narazí jako na odkaz a vybere jej, můžete jej přesměrovat pomocí pravidla přepsání http://www.mysite.com/review2019.

instagram viewer

Snadnější zapamatování adres URL

Pravděpodobně jste již viděli odkazy související s elektronickým obchodem s podobnými adresami URL https://www.thestore.net/3d78654954c29ace998658. Vývojáři používají takové štítky, aby zajistili, že položky budou mít jedinečný identifikátor, ale u netechnických typů je těžké si to zapamatovat.

Naštěstí vám pravidlo přepsání může pomoci propagovat pěknou adresu URL, například https://www.thestore.net/notebooks/spiral/3-subject-spiral/, který, když bude následován, přivede návštěvníka k tomu s ošklivou URL.

Unikátní názvy stránek

V počátečních dnech webu bylo běžné vidět skutečný název souborů stránek, když jste navštívili web. Například stránka „O nás“ na webu může být „ http://www.someguys.org/about.html."

Existuje však několik důvodů, proč už je tolik nevidíte. První je, že mnoho webů je provozováno systémy pro správu obsahu, které mají jen hrstku skutečných souborů stránek. Zbývající část obsahu se přidává dynamicky při poskytování stránky, takže všechny stránky mohou vypadat, jako by měly stejnou adresu URL, například „ http://www.someguys.org/index.php." Přepisování adres URL vám umožní mít vzhled těchto samostatných stránek a přitom ke správě vašeho webu stále používat dynamický CMS.

Srozumitelnější adresy URL

Vyhledávače řadí stránky výše, pokud mají snadno srozumitelné adresy URL. To znamená, že je pro webové stránky výhodné mít adresu URL jako „ https://www.thecompany.com/services/consulting" namísto " https://www.thecompany.com/index.php? section = services & page = consulting, „protože poslední část vypadá spíše jako kód než adresa URL.

Přepisování zajistí, že z pohledu adresy URL budete vždy směřovat k tomu nejlepšímu.

Jak nastavit mod_rewrite na vašem webu

Použití přepisování adres URL na Apache vyžaduje dvě hlavní součásti:

  • Povolení skutečného přepisovacího modulu v Apache
  • Výpis nezbytných pravidel přepisování do souboru .htaccess.

Zatímco použití pro přepisování adres URL platí stejně pro jiné webové servery, jako je IIS nebo nginx, mod_rewrite a níže uvedené metody budou platit pouze pro Apache.

Povolte funkci přepisování v Apache

Nejprve musíte v instalaci Apache zapnout funkci přepisování.

  1. Budete muset zjistit, kde se nachází konfigurační soubor vašeho Apache. To bude záviset na instalačním programu, který jste použili.

    • Ve Windows byste měli hledat adresář s názvem „/ conf“ v instalačním adresáři Apache.
    • V populárním instalačním programu XAMPP pro MacOS je umístěn v / Applications / XAMPP / xamppfiles / apache2 / conf.
    • V systému Linux by se objevil v adresáři / etc / apache2. V každém případě hledáte soubor s názvem „httpd.conf“, „http.conf“ nebo „apache2.conf“, abyste k jejich vyhledání mohli použít také vyhledávací funkci vašeho operačního systému.
  2. Otevřete konfigurační soubor v textovém editoru, například Poznámkový blok systému Windows nebo TextEdit v systému macOS.

  3. Vyhledejte řádek „#LoadModule rewrite_module modules / mod_rewrite.so,“ a odeberte hashtag na začátku. To označuje komentář, což znamená, že když je tam, server Apache bude ignorovat vše na tomto řádku. Odstraňte hashtag a příště Apache provede tento řádek při spuštění.

  4. Uložte konfigurační soubor a restartujte server Apache.

  5. Alternativně v některých verzích systému Linux uvidíte některé adresáře jako „/ etc / apache2 / mods-available“ a „/ etc / apache2 / mods-enabled.“ Ty obsahují bity konfiguračních souborů, které jsou spojeny dynamicky. V tomto případě můžete spustit následující příkazy, abyste nejprve povolili modul přepsání a poté restartovali server Apache:

    sudo a2enmod přepsat
    systemctl restart apache2
  6. Nyní je váš server Apache připraven přepsat adresy URL za vás. Teprve teď musíte říci, které z nich přepsat a za jakých okolností.

Definování pravidel Mod_Rewrite na vašem webu

Budete muset definovat pravidla pro mod_rewrite pomocí jazyka regulárního výrazu. Naštěstí je k dispozici nějaká pomoc. U daného přepisu, který chcete povolit, můžete použít nástroj, jako je generátor pravidel VisioSpark.

  1. Do pole zadejte adresu URL, ze které chcete přepsat, tj. Adresu, kterou uživatel zadá Z: pole.

  2. Zadejte adresu URL, kterou chcete přepsat, tj. Adresu, na kterou uživatel skončí Na: pole.

    Generátory pravidel přepisu GUI vám mohou ušetřit námahu učit se RegEx
  3. Vyberte ovládací prvek Captcha a poté vyberte Jít. Generátor by pak měl poskytnout výsledek počínaje „RewriteRule.

    Pokud náhodou najdete jiný generátor, tyto kroky se mohou mírně lišit, ale doufejme, že ve stejném ballpark.

Zadání pravidel Mod_Rewrite pro váš web

Je to skvělý způsob, jak tato pravidla vytvořit. Ale kam je umístíte?

Chcete-li použít pravidla na webu, musíte v kořenovém adresáři webu vytvořit soubor s názvem „.htaccess“. Je to poněkud závislé na platformě, kde jsou uloženy soubory pro konkrétní web, ale musíte to nejprve zjistit, abyste tam nasadili svůj web.

Možná již existuje soubor s tímto názvem. Pokud ano, skvěle! Do tohoto souboru můžete jednoduše přidat řádky.

  1. Vytvořit nový textový soubor s názvem ".htaccess"v kořenovém adresáři vašeho webu.

  2. V prvním řádku zadejte níže uvedený kód. To řekne serveru, že chcete povolit přepisování pro aktuální web.

    Přepsat motor zapnutý
  3. Dále přidejte všechny řádky, které jste vytvořili pomocí generátoru. Začátek našeho souboru by vypadal takto:

    Přepsat motor zapnutý
    RewriteRule ^ notebooky / spirála / 3-předmět-spirála / $ / 3d78654954c29ace998658? &% {QUERY_STRING}
  4. Stejně jako při jakékoli změně konfigurace Apache je dobré restartovat server.

Používání Mod_Rewrite zabere čas, ale výsledky stojí za to

Použití funkce mod_rewrite na Apache rozhodně vyžaduje určité úsilí. Musíte manipulovat s textovými konfiguračními soubory, vymyslet způsob, jak do těchto souborů dostat velmi jemné regulární výrazy, a umět ručně zastavit a restartovat službu. Pravděpodobně bude vyžadovat spoustu pokusů a omylů, než získáte něco, co nevede k chybě a chová se správně.

To znamená, že jakmile se dostanete na kloub, získáte mod_rewrite velkou výhodu. Vaši návštěvníci si budou lépe pamatovat vaše adresy URL a vaše hodnocení na Googlu se pravděpodobně zlepší. Výsledné „hezké adresy URL“ nejsou koneckonců jen pro paru. Jsou také funkční.

instagram story viewer