Portál AbcLinuxu, 5. května 2025 15:25

Dotaz: mod_rewrite

3.8.2018 09:32 all
mod_rewrite
Přečteno: 259×
Odpovědět | Admin
Ako spravne nakonfigurovat na apache2, aby slo stranku presmerovat z "nepeknych nazvov" na pekne., a to iba v pripade, ze subor neexistuje. Tak aby si pametalo $_POST[]. Nastavil som to, ale $_POST nezachovava. Neviete, ako to spravne nastavit?

all

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 3.8.2018 10:08 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: mod_rewrite
Odpovědět | | Sbalit | Link | Blokovat | Admin
Postni, co jsi nastavil a poté budeme vědět, co je špatně.
Zdar Max
Měl jsem sen ... :(
3.8.2018 10:20 all
Rozbalit Rozbalit vše Re: mod_rewrite
<Directory /YYYY>
	Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
<IfModule mod_rewrite.c>
    RewriteEngine On
    # Removes index.php from ExpressionEngine URLs
    RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

</Directory>

Řešení 1× (Dejv)
3.8.2018 12:40 Ja
Rozbalit Rozbalit vše Re: mod_rewrite
Nemá tady být místo:
RewriteRule ^(.*)$ /index.php/$1 [L]
radši
RewriteRule ^(.*)$ /index.php?path=$1 [L,QSA]
Ovšem to není překlad z nepěkných adres na pěkné, ale naopak - zajišťuje to, aby váš index.php uměl obsloužit adresu "/neco/necoJineho/atd..."
3.8.2018 19:56 all
Rozbalit Rozbalit vše Re: mod_rewrite
Trosku som to chcel realizovat inac, ako sa to realizuje. Uz rozumiem preco tak. A upravil som to podla vas, aby bolo funknce spravne.

Mozte oznacit za spravnu odpoved.
3.8.2018 14:05 all
Rozbalit Rozbalit vše Re: mod_rewrite
Ja chcem:
stranka.com/blog/Ratam-1-2-3
obsluzil index.php
3.8.2018 12:32 Ja
Rozbalit Rozbalit vše Re: mod_rewrite
Odpovědět | | Sbalit | Link | Blokovat | Admin
Post se při přesměrování vždy ztrácí, protože je realizován zhruba takhle:
Uživatel klikne na "Odeslat formulář"
Browser zabalí data a pošle je na "ošklivou adresu"
mod_rewrite uvidí "ošklivou adresu"
  sestaví "hezkou adresu" dle RewriteRule z ošklivé adresy a _GET dat
  odešle browseru pokyn "Jdi na hezkou adresu"
Browser přejde na "hezkou adresu" (tj. pošle "hezkou adresu" na server a vrácené html zobrazí)

Jak vidno, _POST data se uvedeného procesu nijak neúčastní.
Řešením je buď převést formulář na method="get", nebo nahradit přepisování adresy v mod_rewrite php scriptem, který při sestavování "hezké adresy" vezme do úvahy i _POST data.
3.8.2018 12:45 Ja
Rozbalit Rozbalit vše Re: mod_rewrite
Pardon, tenhle proces by se Vás týkal, kdybyste místo [L] použil [LR] - mne zmátla ta věta "presmerovat z "nepeknych nazvov" na pekne". Asi bych doporučil https://www.jakpsatweb.cz/server/mod-rewrite.html, zvlášť rozdíl mezi přesměrováním a podstrkáváním - při podstrkávání se post zachovává, ale zas se nemění "ošklivá adresa" na "hezkou", pokud "ošklivou adresou" rozumíme index.php?arg1=val1&arg2=val2... a "hezkou adresou" rozumíme "/zpracovani/val1/val2...".
3.8.2018 14:08 all
Rozbalit Rozbalit vše Re: mod_rewrite
Dik. Zrejme z toho to uz budem vediet. Vdaka.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.