« 1 2
Autor Zpráva
Trax
Profil
Už jsem to nainstaloval a je to tam, bohužel když dám add a virtual host tak mi to napíše:

Unfortunately, you do not have rights to create a Virtual Host. You must have write permissions on the file: C:\WINDOWS\system32\drivers\etc\hosts
CZghost
Profil
Trax:
Mě to psalo taky. Vyřešil jsem to tím, že jsem dal všem uživatelům právo úplného řízení. Vstup do složky, kde je soubor hosts, klikni na soubor hosts pravým tlačítkem, zvol Vlastnosti > karta Zabezpečení. Pod seznamem skupin je tlačítko Upravit, na to klikni. Budeš pravděpodobně vyzván k potrvzení akce, že jsi ji provedl opravdu ty, dej Pokračovat (Windows Vista a vyšší). Otevře se ti to samé okno, ale nastavení dole jsou měnit. Dej Úplné řízení, jinými slovy zaškrtni vše, co jde. Potom dej Použít a OK (v tomto pořadí, někdy OK pouze zavírá okno, ale nic neukládá, tlačítko Použít funguje vždy). Potom znovu načti administrační rozhraní a zkus to znovu. Mělo by to fungovat. Zkusil jsem si přidat testovací host mých webovek, v seznamu se bohužel nic neukazuje, ale někde to tam je. Zkusil jsem název hostu zadat do prohlížeče, píše mi to chybu 404. Asi na bugreport.
Trax
Profil
CZghost:
Já mám Win XP ještě. Ale pravda, měl jsem tam zaškrtlé jen pro čtení, tak jsem to zrušil. :)

Krom toho, nahrál jsem si web do složky projects/ a vypsal mi error:

Parse error: syntax error, unexpected end of file in D:\EasyPHP-DevServer-14.1VC9\data\localweb\projects\traxartgraphics\index.php on line 440

Nevím čím to je, předtím mi to normálně jelo a na živým serveru to taky šlape.

Zkoušel jsem vymazat zápisy typu:

<?php if ($x=="y"): ?>
neco
<?php else: ?>
neco jineho
<?php endif; ?>

a pak to jede. Nejde tento typ zápisu nějak povolit?


----

Už jsem přišel na chybu:

použil jsem <? endif; ?> na místo <?php endif; ?>


CZghost:
Jinak děkuju virtual host šlape, web teď taky. :))

Už tedy jen nevím poslední věc:
Trax:
2. Nevím jak pokračovat, když na stránce kontakt - http://localhost/web/cz/kontakt (resp. index.php?pag=kontakt&lang=cz&act=1 ) mám ještě jeden parametr act, který mi určuje, zda byl formulář odeslán. Potřebuju zde taky podstrčit nějakou pěknou url např. cz/kontakt/odeslano.

resp. jak mám zapsat do .htaccess parametr navíc? Zkoušel jsem to dávat na další řádek s jedním parametrem navíc a nějak to nešlo. Přišlo mi to, že se to mezi sebou hádalo:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)$ index.php?pag=$2&lang=$1 [QSA,L]
RewriteRule ^(.*)/(.*)/(.*)$ index.php?pag=$2&lang=$1&act=$3 [QSA,L]

Může to být takto zapsané? Pokud ne, v čem je chyba?
CZghost
Profil
Trax:
Trax:
„2. Nevím jak pokračovat, když na stránce kontakt - http://localhost/web/cz/kontakt (resp. index.php?pag=kontakt&lang=cz&act=1 ) mám ještě jeden parametr act, který mi určuje, zda byl formulář odeslán. Potřebuju zde taky podstrčit nějakou pěknou url např. cz/kontakt/odeslano.“
>
>
resp. jak mám zapsat do .htaccess parametr navíc? Zkoušel jsem to dávat na další řádek s jedním parametrem navíc a nějak to nešlo. Přišlo mi to, že se to mezi sebou hádalo:
To se ptáš sám sebe? :-)

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)$ index.php?pag=$2&lang=$1 [QSA,L]
RewriteRule ^(.*)/(.*)/(.*)$ index.php?pag=$2&lang=$1&act=$3 [QSA,L]
> Může to být takto zapsané? Pokud ne, v čem je chyba?
Nemůže, pokud nechceš používat hodnotu parametru. Budeš asi muset googlit. Pokud chceš na hodnotu act=1 další virtuální podadresář odeslano, pak připsané pravidlo nebude fungovat tak, jak očekáváš. Prozatím bych doporučil odstranit to L z prvního pravidla:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)$ index.php?pag=$2&lang=$1 [QSA]
RewriteRule ^(.*)/(.*)/(.*)$ index.php?pag=$2&lang=$1&act=$3 [QSA,L]
Potom se podívej, zda je možné na základě stringu podstrčit skript se zadaným parametrem.
Jestli máš jen tu podmínku odesláno, pak zkus nahradit poslední pravidlo tímto:
RewrizeRule ^(.*)/(.*)/odeslano$ index.php?pag=$2&lang=$1&act=1 [QSA,L]
Trax
Profil
Kajman:
Virtual host už šlape, takže není třeba. Bylo to první řešení, co mě napadlo, ale proč si to komplikovat. :)

CZghost:
Právě že parametr act má více podob. Zkusím se tedy podívat. :)
Kajman
Profil
Trax:

Já tu měl vlákno otevřené ještě dřívější a odpověděl bez kontextu nových příspěvků. A nestihl jsem to zamést dost rychle :-)

Parametr act klidně může zůstat jako parametr, tedy odeslaný formulář bude mít url /cz/kontakt?act=1

Pokud budete přeci jen do .htaccess dávat více pravidel, dávejte konkrétnější dříve než obecnější. Tedy nejdříve pravidlo na tři odresáře a poté teprve na dva. Ošetření na skutečné soubory by mělo být před každým takovým pravidlem.
Trax
Profil
Kajman:
Super, tak jsem to vyřešil. Problém byl v tom, co jste teď psal. Děkuji. :)

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)/kontrola$ index.php?pag=$2&lang=$1&act=kontakt_formkontrola [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)/chyba$ index.php?pag=$2&lang=$1&act=kontakt_chyba [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)$ index.php?pag=$2&lang=$1 [QSA]
« 1 2

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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