Autor Zpráva
meca
Profil
Zdrastvujte!

Už přes století používám:
RewriteRule ^([a-zA-Z0-9\-]+)$ /index.php?page=$1 [L,QSA]

Klasika. Nikdy žádný problém. Až teď na nejmenovaném serveru mi to pri zápisu "/neco" hodí místo na "?page=neco" přímo na "neco.php". Na localhostu mi to normálně funguje - a tak nevíte, kde by mohl být problém? Jiná konfigurace serverů..? Co s tím? Co jim napsat, aby to fungovalo?

Diky, diky, diky.. za každý nápad ;)
kajaman
Profil
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([a-zA-Z0-9\-]+)$ /index.php?page=$1 [L,QSA] 
Kajman_
Profil *
Co se stane, když zadáte
/nesmysl
?

Pokud je tam 404, tak není rewrite povoleno. Pak by mohl mít hosting, nějakou chytrou 404 nebo nějaký modul, který se při 404 snaží najít správný obsah.
meca
Profil
Tyjo!

Když zadám /nesmysl, tak se tam zobrazí 404.. ale skrze:

$page = $_GET['page'];
if (!isset($page)) {
  include "uvod.php"; 
} elseif (file_exists("$page.php")) {
  include "$page.php";
} else {
  include "404.php";
}


A proměná $page je normálně "nesmysl" .. WTF?
Kajman_
Profil *
Možná tam jen nějaký modul, co se snaží uhádnout chtěný soubor.

Zeptejte se hostingu, proč se tak děje a jak si to na Vaší doméně vypnout.
Kajman_
Profil *
BTW: necyklí se to náhodou, když dá někdo /index nebo ?page=index ?
Davex
Profil
meca:
Toto chování je vedlejší efekt modulu mod_negotiation, který je primárně určen pro automatickou volbu jazykové verze. Doporučuji ho vypnout konfigurační volbou:
Options -MultiViews
meca
Profil
Yaa, dix.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0