Autor Zpráva
Manny
Profil *
Předem mého dotazu musím poznamenat, že jsem prohledal zdejší diskusi i gúglil, ale nic z toho mi nepomohlo.
Používam portable verzi XAMPP a potřebuji v httpd.conf zapnout mod_rewrite.
Vyzkoušel jsem:
LoadModule rewrite_module modules/mod_rewrite.so

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

a
AllowOverride All


Nic z toho mi však na localhostu nefunguje, přestože na veřejném serveru mi rewrite běhá. Má s tím někdo zkušenosti, prosím?
Majkl578
Profil
Nepřepisuješ si nastavení AllowOverride v nějaké další <Directory> sekci?
Manny
Profil *
Jediná další Directory sekce je:
<Directory "/xampp/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

ale to s tím snad nesouvisí.

Nemohl by někdo kdo pužívá XAMPP zkopírovat celé nastavení a poslat mi ho na mail mickman@email.cz. Díky moc
Manny
Profil *
Že by tu nikdo nepoužíval XAMPP :-((
Davex
Profil
Manny:
XAMPP už moc nepoužívám a portable verzi jsem nepoužil nikdy, ale není náhodou v adresáři se souborem httpd.conf ještě podadresář extra s dalšími konfiguračními soubory, které se do httpd.conf vkládají pomocí Include?

Ještě mě napadá, že v XAMPPu snad nebylo potřeba mod_rewrite a .htaccess nijak nastavovat a vše fungovalo hned po instalaci.
Manny
Profil *
Davex:
Jo, je tam dalších 14 souborů, ale v nich jsem nic nenašel

Ještě mě napadá, že v XAMPPu snad nebylo potřeba mod_rewrite a .htaccess nijak nastavovat a vše fungovalo hned po instalaci.
Tak to bohužel:-(
Kajman_
Profil *
Manny:
A co přesně vlastně nefunguje? Když do .htaccess dáte něco jiného než rewrite, tak to funguje a až když dáte pravidlo přepisování, tak se objeví chybová hláška? Nebo naopak, když dáte rewrite pravidla přímo do konfigurace apache, tak to funguje, jen to nejde přes .htaccess? A jste si jistý, že testujete .htaccess ve správném adresáři, kam přistupuje apache?
Manny
Profil *
Kajman:
Myslím, že v .htaccess to není. Jak jsem psal na začátku, na veřejném serveru mi to běhá. Jen localhost při pokusi o přepis hází výchozí stránku. Žádná chybovka se neobjevuje.

A jste si jistý, že testujete .htaccess ve správném adresáři, kam přistupuje apache?
Do té doby, než jsem nasadil .htaccess jsem z daného adresáře testoval bez problému.
Kajman_
Profil *
A .htaccess bez rewrite fuguje? Když si např. do .htaccess nastavíte vlastní chybovou stránku, tak se použije?
Manny
Profil *
Kajman:

A .htaccess bez rewrite fuguje? Když si např. do .htaccess nastavíte vlastní chybovou stránku, tak se použije?
zkusil jsem a nepoužije
Davex
Profil
Pokud je v souboru httpd.conf konfigurační volba DocumentRoot "/xampp/htdocs", tak by tam také měla být sekce <Directory "/xampp/htdocs">, do které je nutné přidat (upravit nebo odkomentovat) AllowOverride All. Změna konfigurace v souborech .htaccess by potom měla v tomto adresáři fungovat.
Manny
Profil *
Davex:
Pokud je v souboru httpd.conf konfigurační volba DocumentRoot "/xampp/htdocs", tak by tam také měla být sekce <Directory "/xampp/htdocs">, do které je nutné přidat (upravit nebo odkomentovat) AllowOverride All.
Jistě, ale to už jsem udělal jako jedno z prvních. Tady je znění celé sekce:
<Directory "/xampp/htdocs">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks Includes ExecCGI

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

</Directory>

Zdá se, že už to asi nerozjedu:-(
Kajman_
Profil *
Manny:
A AccessFileName tam není přenastavené? A zkoušel jste jinou verzi toho balíčku XAMPP portable?
Manny
Profil *
Kajman:
A AccessFileName tam není přenastavené?
je tam
AccessFileName .htaccess


A zkoušel jste jinou verzi toho balíčku XAMPP portable?
Nezkoušel. Mám verzi 1.7.2 a poslední je 1.7.3 (viz.Odkaz)
Nevím, jestli to má cenu.
smiesek
Profil
zjistila jsem, že mi taky na localhostu nefunguje rewrite a dohledávala jsem tedy na internetu různé návody, postupy a rady, ale pořád je výsledek stejný. Při použití XAMPP aplikace.
Ještě jsem pak narazila i na zdejší dotaz, ale taky mi to podle něj nepomohlo.

Stejně tak jako se mi líbil přehledný návod např. zde, ale změna žádná

Mám v souboru httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks Includes ExecCGI

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

následně jsem Apache restartovala.

testovací obsah souboru .htaccess

RewriteEngine On

ErrorDocument 404 /error.php

Chybová stránka se nezobrazí (její umístění je správné), zobrazí se mi přímo jen úvodní stránka XAMPPu nebo Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Na ostrém webu mi to funguje, na localu nikoliv. Potřebovala jsem to hlavně rozjet pak následně pro systém OpenCart, kde se na ostrém webu používají SEO URL, ale právě pokud jsem je nechala zapnuté, mi nešlo se dostat do kategorií, tedy musela jsem to jedině vypnout. Dle toho jsem usoudila, že mi všeobecně rewrite nefunguje na localhostu.
Davex
Profil
Domnívám se, že by se ta volba (AllowOverride, která povoluje konfiguraci v souboru .htaccess) třeba mohla přepisovat na výchozí konfiguraci XAMPPu ze souboru conf/extra/httpd-xampp.conf nebo z conf/extra/httpd-vhosts.conf či odjinud. Zkus prohledat všechny konfigurační soubory Apache.

Jinak ErrorDocument je přímo součást jádra a mod_rewrite pro to není potřeba.
smiesek
Profil
Davex:
pro ten error dokument to je pouze příklad, tedy nejjednoduší příklad, co mě napadlo, abych vyzkoušela, zdali rewrite funguje, což tedy se ukázalo, že nefunguje :-( Takže chyba musí někde být...
Davex
Profil
smiesek:
ErrorDocumentem funkčnost mod_rewrite nevyzkoušíš, protože je to volba nezávislá na jeho funkčnosti či nefunkčnosti. Podstatné je, aby v daném adresáři bylo zapnuté čtení konfigurace (AllowOverride All) ze souboru .htaccess. Pokud se pro konfiguraci Apache používá víc konfiguračních souborů, tak to může být nastavené i v jiném než httpd.conf.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0