Autor | Zpráva | ||
---|---|---|---|
Tomasekkkk Profil * |
#1 · Zasláno: 24. 8. 2010, 21:44:51
Zdravím Vás, měl bych dotaz ohledně konfigurace htacess, zkouším si vytvořit jeden inzertní server, inspiroval jsem se jinýma inzercema, udělal jsem si htaccess, asi jej mám složitě, protože musím pro každou kategorii (subdoménu) dělat zápisy dle jeho ID čísla v kategorii (viz. id_kategorie=7) tzn. je zde třeba 8 zápisů pro každou subdoménu, lze toto řešit jednoduše? Dále zde mám zápis podkategorie, chtěl bych udělat zápis tak, aby se otevřelo URL http://elektro-foto.domena.cz/nazev-podkategorie_IDcislo/ pokud dám do zápisu
RewriteCond %{HTTP_HOST} ^poddomena\.domena\.cz RewriteRule ^podkategorie/(.*)_([0-9]+) %{DOCUMENT_ROOT}/www/index.php?pg=vypkat&id_kategorie=7&id_podkategorie=$2 [L,QSA] tak mi to otevře sice správně, ale pokud dám doménu http://elektro-foto.domena.cz/cokoli-napisu/nazev-podkategorie_IDcislo/ otevře mi stejnou stránku, rád bych nějakým způsobem toto omezil, aby se do URL nedalo cokoli jiného napsat, ale muselo by být URL ve formátu "nějaky-text-rozděleny_IDčíslo" lze toto nějak tedy řešit? Moc díky za Vaše tipy pro začátečníka :-) RewriteCond %{HTTP_HOST} ^elektro-foto\.domena\.cz RewriteRule ^sitemap\.xml$ %{DOCUMENT_ROOT}/www/sitemap-generator.php?idkategorie=7 [L,QSA] RewriteCond %{HTTP_HOST} ^poddomena\.domena\.cz RewriteRule ^robots\.txt$ %{DOCUMENT_ROOT}/www/robots.php?idkategorie=7 [L,QSA] RewriteCond %{HTTP_HOST} ^poddomena\.domena\.cz RewriteRule ^nabidka/$ %{DOCUMENT_ROOT}/www/index.php?pg=vypkat&id_kategorie=7&typ=nabidky [L,QSA] RewriteCond %{HTTP_HOST} ^poddomena\.domena\.cz RewriteRule ^poptavka/$ %{DOCUMENT_ROOT}/www/index.php?pg=vypkat&id_kategorie=7&typ=nabidky [L,QSA] RewriteCond %{HTTP_HOST} ^poddomena\.domena\.cz RewriteRule ^podkategorie/(.*)_([0-9]+) %{DOCUMENT_ROOT}/www/index.php?pg=vypkat&id_kategorie=7&id_podkategorie=$2 [L,QSA] RewriteCond %{HTTP_HOST} ^poddomena\.domena\.cz RewriteRule ^vlozit\.html$ %{DOCUMENT_ROOT}/www/index.php?pg=addinzerat&id_kategorie=7 [L,QSA] RewriteCond %{HTTP_HOST} ^poddomena\.domena\.cz RewriteRule ^vlozit-zdarma\.html$ %{DOCUMENT_ROOT}/www/index.php?pg=addinzerathost&id_kategorie=7 [L,QSA] RewriteCond %{HTTP_HOST} ^poddomena\.domena\.cz RewriteRule ^([0-9]+)/$ %{DOCUMENT_ROOT}/www/index.php?pg=vypkat&id_kategorie=7&page=$1 [L,QSA] RewriteCond %{HTTP_HOST} ^poddomena\.domena\.cz RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/www/index.php?pg=vypkat&id_kategorie=7 [L,QSA] |
||
Joker Profil |
#2 · Zasláno: 24. 8. 2010, 23:06:29
Tomasekkkk:
Já osobně preferuji jednoduchý .htaccess, příklad: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php?url=/$1 [L,QSA] S tímhle .htaccess souborem se dá vystačit na drtivé většině webů. Ta logika, co se má pro kterou adresu zobrazit, pak je uvnitř toho PHP souboru, kde se to dá napsat jednodušeji a přehledněji (IMHO). |
||
Tomasekkkk Profil * |
#3 · Zasláno: 24. 8. 2010, 23:27:33
No to jsem viděl taky, ale bylo pro mě lepší se jen v PHP odkazovat formou GET a bylo ;o) Ale asi to tak dopadne.
|
||
Davex Profil |
#4 · Zasláno: 25. 8. 2010, 19:06:28
Když se tak na ty parametry dívám, tak je asi chyba v návrhu aplikace. Požadované URL nelze jednoduše převést na parametry, protože jsou očekávány jiné hodnoty než ve vstupním URL. Asi by bylo nejvhodnější, přepracovat parametrizaci a přesunout rozhodování do aplikace, jak radí Joker.
|
||
Tomasekkkk Profil * |
#5 · Zasláno: 25. 8. 2010, 20:03:22
Jasně, já si právě myslel, že když budou podmínky typu IF nebo CASE, tak bude script zbytečně zpomalovat, ale jak říkáte, asi bude nejlepší to celé překopat a ověřovat to přímo ve scriptu, myslel jsem, že na to zafunguje i něco jiného. Díky
|
||
Časová prodleva: 15 let
|
0