Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Š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.

Předmět Autor Datum
Ten regexp mi nedává smysl, ale dneska už nepřemejším, takže je to možná správně.
touchwood 03.08.2015 22:08
touchwood
Je nezmysel robit ([^/]+)? Stejnu funkciu ma snad [^/]* Alebo nechapem co tym chcel autor povedat .…
MM.. 04.08.2015 00:31
MM..
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 an…
Marty92 04.08.2015 01:05
Marty92
[^/]*$ robi co? bez toho prveho ^
MM.. 04.08.2015 01:09
MM..
Pořád 404... Zkouším různé kombinace, pořád to stejné... Na minulém serveru šlo vše bez problémů, na…
Marty92 04.08.2015 01:25
Marty92
ja so servermi nerobim, kukam len na ten regex. Regex je spravny neviem co tomu serveru tam chyba.
MM.. 04.08.2015 01:39
MM..
skus este ([^/]*)$ pripadne len [^/]* bez tej koncovej znacky, ked neda ani to, tak uz vobec neviem…
MM.. 04.08.2015 01:43
MM..
Pripadne skus tie veci uzavret do uvodzoviek preistotu RewriteRule "^([^/]*)$" "index.php?skript=$1"…
MM.. 04.08.2015 01:45
MM..
Zkusil a pořád stejné. Zjišťuji ale jednu zajímavost... Na webu mám vlastní chybovou hlášku pro skri…
Marty92 04.08.2015 02:02
Marty92
Skus si ten adresar nazvat tralala a ne test. Trebars ma server svoj vlastny rewrite na slovo test
MM.. 04.08.2015 09:27
MM..
To byl jen příklad :) Už jsem psal na podporu, tak uvidíme, až to vyřeším, dám sem vědět.
Marty92 04.08.2015 10:12
Marty92
VYŘEŠENO!!!!!!!!!!!!!! Zkoušel jsem ještě pečlivěji googlit a ještě více zkoušet a stačilo do řádku… poslední
Marty92 04.08.2015 11:47
Marty92

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 :)

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

Zpět do poradny Odpovědět na původní otázku Nahoru