/ / Apache2 - Priateľské adresy URL - .htaccess, url, apache2

Apache2 - priateľské adresy URL - .htaccess, url, apache2

Používam tento kód na vytvorenie priateľských adries URL:

rewriteengine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

Mal by fungovať, aby som mohol ísť http://www.mywebsite.com/test ale keď idem do svojej adresy, jednoducho to hovorí 404 Not Found ale v súbore denníka sa nevyskytuje žiadna chyba.

Používam Apache2 na Debian x86_64 a moja otázka je potreba zmeniť akékoľvek nastavenia priateľských URL na prácu?

odpovede:

1 pre odpoveď č. 1

Existuje veľa možností. Tu je niekoľko (niektoré z nich SmartWebDeveloper.com):

  • Uistite sa, že .htaccess súbor je správne pomenovaný. Uistite sa, že ste na to nezabudli . na začiatku a že názov súboru je malý.

  • Uisti sa AllowOverride je správne nastavená. Ak sa pozriete vo svojich konfiguračných súboroch (httpd.conf, a možno aj ďalšie konfiguračné súbory v priečinku /etc/apache2/ ), môže sa zobraziť riadok takto: AllowOverride None, Tento riadok zabraňuje vášmu.súbor htaccess z meniacich sa vecí. (Všimnite si, že tento riadok môže byť prítomný v konfigurácii servera na viacerých miestach - vrátane hlavnej konfigurácie, konfigurácie koreňového adresára na webe (pravdepodobne v /etc/apache2/sites-available/default) a všetky konfiguračné súbory VHost v priečinku sites-enabled priečinok, takže musíte nájsť ten, ktorý skutočne zmení veci pre túto stránku.) Zmeňte to AllowOverride FileInfo (ak všetko, čo potrebujete, je prepísané) alebo AllowOverride All (ak máte v úmysle použiť svoje .htaccess pre iné veci.) Úplný popis AllowOverride je na adrese http://httpd.apache.org/docs/current/mod/core.html#allowoverride

  • Uistite sa, že je zapnutý modul prepísania. Ak je vaša konfigurácia prepisovania uzavretá <IfModule mod_rewrite.c> a </IfModule> alebo ak je vaša Apache nakonfigurovaná na to, aby oznamovala .htaccess chyby, nikde neuvidíte, že je modul vypnutý. Ak to chcete povoliť, použite a2enmod rewrite a reštartujte server Apache.