Portál AbcLinuxu, 14. května 2024 01:56


Dotaz: Htaccess - pekne URL adresy, problem s podminkou

1.12.2011 12:35 PS
Htaccess - pekne URL adresy, problem s podminkou
Přečteno: 356×
Odpovědět | Admin
Zdravim, chtel bych mit na webu pekne URL adresy, ale nemuzu vyresit jeden problem: Chci, aby se vsechny zadane adresy (www.web.cz/neco) presmerovaly na www.web.cz/inzeraty.php?kategorie=neco KROME pripadu, kdy adresa obsahuje slovo "inzerat", v tom pripade bych chtel, aby bylo presmerovano na www.web.cz/inzerat.php?id=neco .

Nemuzu to ale vymyslet, porad se mi vsechny adresy presmerovavaji na tu defaultni. Dekuju za vsechny rady.

Zdroj .htaccess:

RewriteEngine On RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^/inzerat/$ RewriteRule ^([^/]+)/?$ inzeraty.php?kategorie=$1

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^/inzerat/$ RewriteRule ^([^/]+)/([^/]+)?/?$ inzeraty.php?kategorie=$1&podkategorie=$2

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} ^/inzerat/$ RewriteRule ^([^/]+)/?$ ?id=$1
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.12.2011 12:37 PS
Rozbalit Rozbalit vše Re: Htaccess - pekne URL adresy, problem s podminkou
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdroj jeste jednou pro prehlednost:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/inzerat/$
RewriteRule ^([^/]+)/?$ inzeraty.php?kategorie=$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/inzerat/$
RewriteRule ^([^/]+)/([^/]+)?/?$ inzeraty.php?kategorie=$1&podkategorie=$2

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^/inzerat/$
RewriteRule ^([^/]+)/?$ ?id=$1
Tarmaq avatar 1.12.2011 14:09 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Htaccess - pekne URL adresy, problem s podminkou
nepomohlo by z
RewriteCond %{REQUEST_URI} !^/inzerat/$
odstranit ty dolary na konci? tedy:
RewriteCond %{REQUEST_URI} !^/inzerat/
Don't panic!
1.12.2011 14:59 Sten
Rozbalit Rozbalit vše Re: Htaccess - pekne URL adresy, problem s podminkou
Proč je tam na konci ten dolar? Proč nemůže URL začínat lomítkem? (Všechna URL začínají lomítkem.) A proč jsou tam ty podmínky opakovaně? IMO správně by to bylo:
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
# [L] znamená „Tohle je poslední pravidlo“, takže soubory ani
# adresáře se následujícími pravidly netestují
RewriteRule . - [L]

# Nestačí tu jedno pravidlo? isset($_GET["podkategorie"]) pak sice bude vždy TRUE,
# ale pokud podkategorie není, $_GET["podkategorie"] bude prázdné
RewriteRule ^/inzerat/([^/]+)(/([^/]+))?/?$ /inzeraty.php?kategorie=$1&podkategrie=$3

# Tady chybí jméno skriptu, aby se to nezacyklilo
RewriteRule ^/([^/]+)/?$ ?id=$1

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.