Zadejte hledaný výraz...

.htaccess

Bacon
verified
rating uzivatele
(2 hodnocení)
12. 3. 2010 09:39:26
Čau čau čau,
potřeboval bych pomoct s jednou hloupostí, já na to ale prostě nemůžu přijít.
Potřebuji udělat krátkodobou záměnu indexu - místo současného index.php potřebuju nasadit např. index.html, popř. reklama.html a na tu stránku umístit nápis "Pokračovat na web".
Jenže - když mám na tom novým indexu odkaz na index.php (to je ten WordPressácký), tak se to vrátí opět zpět na index.html (protože index.php -> směřuje na root, DirectoryIndex je nastavený index.html, prostě nekonečná loopa).
Poraďte, prosím, jak co nejlíp umístit tento "falešný" index - aktuálně vychází album, proto ho chci inzerovat přímo takto - vím, že blog jde přesměrovat do virtuální složky, ale takto do toho zasahovat nechci).
Díky.
12. 3. 2010 09:39:26
https://webtrh.cz/diskuse/htaccess-10#reply472962
nalinder
verified
rating uzivatele
(9 hodnocení)
12. 3. 2010 10:40:00
Napsal Bacon;475444
Čau čau čau,
potřeboval bych pomoct s jednou hloupostí, já na to ale prostě nemůžu přijít.
Potřebuji udělat krátkodobou záměnu indexu - místo současného index.php potřebuju nasadit např. index.html, popř. reklama.html a na tu stránku umístit nápis "Pokračovat na web".
Jenže - když mám na tom novým indexu odkaz na index.php (to je ten WordPressácký), tak se to vrátí opět zpět na index.html (protože index.php -> směřuje na root, DirectoryIndex je nastavený index.html, prostě nekonečná loopa).
Poraďte, prosím, jak co nejlíp umístit tento "falešný" index - aktuálně vychází album, proto ho chci inzerovat přímo takto - vím, že blog jde přesměrovat do virtuální složky, ale takto do toho zasahovat nechci).
Díky.
Na začátek .htacces hoď
RewriteEngine On
# Výjimky
RewriteRule (.*) falesnyIndex.html
12. 3. 2010 10:40:00
https://webtrh.cz/diskuse/htaccess-10#reply472961
Bacon
verified
rating uzivatele
(2 hodnocení)
12. 3. 2010 16:44:21
Díky, ale bohužel ať dělám, co dělám, nic - nejde to.
RewriteEngine On
RewriteRule (.*) default.html
# reklama
DirectoryIndex default.html
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
# END WordPress
Takhle mi to teď aktuálně vypadá, ale zase to přesměrovává index.php na /, takže se zase zobrazí DirectoryIndex.
12. 3. 2010 16:44:21
https://webtrh.cz/diskuse/htaccess-10#reply472960
drago
verified
rating uzivatele
(73 hodnocení)
12. 3. 2010 19:10:50
Anebo přímo do šablony (tím se vyhneš změnám u upgrade) dát na začátku test na session. Pokud nebude daná proměná existovat tak redirekt na privitani.php, kde se uloží session. Pak když bude pokračovat na index.php tak už bude session existovat a nebude to člověka refirektovat.
něco takovéhoto dát do indexu
if (!isset($_SESSION)){
// redirekt na reklama.php
}
něco takovéhoto do reklama.php
$_SESSION = true;
Přes ten .htaccess to bude určitě elegantnější ale než to někdo vyřeší můžeš zkusit tohle.
12. 3. 2010 19:10:50
https://webtrh.cz/diskuse/htaccess-10#reply472959
Bacon
verified
rating uzivatele
(2 hodnocení)
12. 3. 2010 19:21:05
Dobrý nápad, díky a zkusím.
Člověče, pomocí těch sessions mi to nějak stávkovalo, ale pomocí kontroly GET (odkazuju z reklamy na index.php?reklama=false), to jde. Problém je zas ten, že když si znovu klikne uživatel na header, tak se zas dostane na reklamu. A nechci zasahovat tolik do šablony, tak nvm.
---------- Doplňující příspěvek odeslán v 19:40 ----------
Pro ilustraci, jedná se o www.kontrafakt.name. Potřebuju, aby se (dobrý nápad měl Drago) všem nově příchozím ukázala stránka www.kontrafakt.name/reklama.php, bez ohledu na to, jestli jdou na index, nebo jinam.
Pokud se správně domnívám a odvozuji z Dragova příkladu, mělo by stačit do header.php v template pridat podmínku na cookies, nebo session.
---------- Doplňující příspěvek odeslán v 20:04 ----------
header.php
if ($_SESSION !== '123') {
header("Location: http://www.kontrafakt.name/reklama.php");
}
?>
reklama.php
session_start();
$_SESSION = '123';
?>
Vyzkoušeny oba druhy uvozovek.
---------- Doplňující příspěvek odeslán v 19:58 ----------
Stále se mi nedaří vyřešit, tak se ptám sám sebe, nešlo by to pomocí cookies, když SESSION nejde?
---------- Doplňující příspěvek odeslán v 21:26 ----------
Tak, prozatím finální řešení:
header.php:
//zapnout reklamu
define('reklama_on', true);
//přesměrovat
if ((reklama_on == true) && (!isset($_SESSION))) {
header("Location: http://www.kontrafakt.name/reklama.php?ref=".$_SERVER);
}
?>
reklama.php:
//nastartujeme sessions
session_start();
//uložíme session s aktuálním časem
session_register('reklama');
$_SESSION = time();
?>
Jak se zdá, vše funguje - uživateli se zobrazí reklama, ať už přijde odkudkoliv, poté ho už neobtěžuje, ovšem po uzavření okna se session smaže a při návratu opět reklamu uvidí, paráda.
12. 3. 2010 19:21:05
https://webtrh.cz/diskuse/htaccess-10#reply472958
Pro odpověď se přihlašte.
Přihlásit