Autor Zpráva
wordik
Profil *
Dobrý den,

nedávno jste mi zde poradili používat obecné pravidlo, moc jste mi tím pomohli. Ovšem nyní jsem narazil na jeden problém.
.htaccess
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

# faktura
RewriteRule moje-objednavky/faktura/([_a-zA-Z0-9\-]+)?$ shared/resources/scripts/php/invoice.php?v1=$1 [L,QSA]

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

takto mi nejde ani jedno z těchto pravidel.

Co konkrétně chci a co nefunguje:
Když vlezu na http://www.mojedomena.cz/moje-objedenavky/faktura/1 aby to podstrčilo URL shared/resources/scripts/php/invoice.php?v1=1 ovšem když zadám pouze http://www.mojedomena.cz/moje-objedenavky aby se pravidlo pro fakturu neaplikovalo a naopak se aplikovalo obecné pravidlo.

Chtěl jsem použít pouze to obecné pravidlo a další pravidlo tam nepřidávat, ovšem v PHP nelze podstrčit URL bez přímého přesměrování pokud se nepletu.
Camo
Profil
Nerozmýšľal si nad tým, že by si to spracoval v php? To by bolo určite jednoduchšie.
wordik
Profil *
Camo:
No to mě samožřejmě napadlo, ale jak v PHP docílíte toho aby URL:
http://www.mojedomena.cz/moje-objedenavky/faktura/1 podstrčilo URL:
shared/resources/scripts/php/invoice.php?v1=1

ale adresní řádek se samozřejmě nezměnil?
Camo
Profil
wordik:
Tu ide o to, aby aplikácia podľa tej adresy vedela zisťiť aký obsah má zobraziť. Zobraziť znamená includnuť ho, alebo načítať z databázy. Riešiť tieto veci cez mod_rewrite nieje dobrý nápad. Mod rewrite je niečo ako čierna mágia a je pomalý.
Je problém includnúť ten tvoj súbor a nastaviť $_GET parameter resp. Premennú $v ? Rozsekáš si adresu cez explode() a zistíš či obsahuje slová moje-objednavky a faktura ak hej includnes ten tvoj script.
wordik
Profil *
Camo:
Co se tyká rozsekávání URL, tak to tak mám řešené, jak je vidět z prvního komentu, pak používám to obecné rewrite pravidlo a vše poté zpracovávám v PHP.

Ale možná jsem zapomněl dodat podstatnout věc, a to že skript shared/resources/scripts/php/invoice.php?v1=1 má zobrazit PDF.

včera jsem myslím zkoušel include('shared/resources/scripts/php/invoice.php?v1=1'); jenže v include nelze předávat parametry pokud se nepletu, protože mi to tam psalo nějakou takovou chybovou hlášku.
Camo
Profil
wordik:
Na tom že je to pdf teraz nezáleží.
Tú premennú $v si normálne založíš v scripte ktorý volá ten include.
A v includovanom súbore k nej máš normálne prístup. Takže nepotrebuješ predávať cez GET žiadne parametre.
wordik
Profil *
Camo:
Děkuji, navedl si mě správnou cestou, již jsem to vyřešil :-).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0