

Špatná funkce mod_rewrite
Zdravím,
už jsem hledal docela dlouho, vyzkoušel jsem pár rad, ale žádná neřeší můj problém, tak zkouším zde. Na starém webu mi soubor mod_rewrite fungoval, na novém je problém a nefunguje mi ani na nejjednodušších věcech. Dejme tomu, že chci z test jit na index a mám to zapsané takto:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)?$ index.php?skript=$1 [L]
Objeví se chyba 404... Pokud ale udělám malou změnu a pravidlo změním na
RewriteRule ^ok/([^/]+)?$ index.php?skript=$1 [L]
,tak mi test funguje... Tedy hádám, že je chyba jen v zápisu pravidla a věřím, že jde o kravinu, kterou mi pomůžete vyřešit. Pokud je to něco elementárního, tak se omlouvám, zas takové zkušenosti s tím nemám a na starém webu jsem s tímto problém neměl.
Je nezmysel robit ([^/]+)?
Stejnu funkciu ma snad [^/]*
Alebo nechapem co tym chcel autor povedat
..t.j. das tam ^[^/]*$
Děkuji za odpověď, s tím otazníkem sem se to kdysi učil, teď si všímám, že se to nepoužívá. Avšak ani tvoje řešení mi nefunguje :( Ono asi nejde o celý výraz, ale jde myslím o ten začátek. Prostě RewriteRule ^x([^/]*)$ index.php?skript=$1 [L] při odkazu xtest funguje (bez těch závorek ne), ale to není to, co bych chtěl :)
[^/]*$
robi co? bez toho prveho ^
Pořád 404... Zkouším různé kombinace, pořád to stejné... Na minulém serveru šlo vše bez problémů, na tom novém tohle nějak nejde... Pokud tě už nic nenapadá, tak zkusím kontaktovat zítra někoho na podpoře a třeba poradí. Každopádně moc díky :)
skus este ([^/]*)$
pripadne len [^/]*
bez tej koncovej znacky, ked neda ani to, tak uz vobec neviem :)
Pripadne skus tie veci uzavret do uvodzoviek preistotu
RewriteRule "^([^/]*)$" "index.php?skript=$1" [L]
apod
P.S> skus aj
RewriteRule "^([^/]+)$" "index.php?skript=$1" [L]
aby si nepokryval aj prazdny string
Zkusil a pořád stejné. Zjišťuji ale jednu zajímavost... Na webu mám vlastní chybovou hlášku pro skripty, co nejdou načíst a ta se spustí pokud je v url něco, co tam nemám... Třeba pokud mám v adresáři právě soubor test.php, tak test hodí 404, tes, www.neco.testa hodí chybovou hlášku, co tam mám já. Tedy ty pravidla by třeba mohly fungovat, ale chyba by nakonec mohla být jinde :D
Skus si ten adresar nazvat tralala a ne test. Trebars ma server svoj vlastny rewrite na slovo test
To byl jen příklad :) Už jsem psal na podporu, tak uvidíme, až to vyřeším, dám sem vědět.
VYŘEŠENO!!!!!!!!!!!!!! Zkoušel jsem ještě pečlivěji googlit a ještě více zkoušet a stačilo do řádku s Options přidat -MultiViews :) Pak to v klidu funguje. Každopádně moc děkuji za snahu :)