Autor Zpráva
Mechanik
Profil *
Rád bych se zeptal, jak přejít ze statických stránek na redakční systém Textpattern, konkrétně mám tento problém:
Nadefinoval jsem si v menu "vzhled" -> "stránky" -> "stránka default" vzhled svých stránek, který vychází z původní podoby webu a je pro většinu stránek stejný, ale nevím, jak vytvořit další stránku např. "novinky", která má některé odlišnosti např. jinou fotografii na stránce než je na stránce výchozí a jak na ni vytvořit odkaz z úvodní stránky, není mi to nějak jasné.
Tu stránku např. novinky vytvořím také v menu "vzhled" -> "stránky" -> "stránka default" tím, že její kód zkopíruji, uložím pod jménem novinky a pak si v něm upravím potřebné odlišnosti např odkaz na fotografii, která je jiná než na výchozí stránce? A jak na ni vytvořím na úvodní (default) stránce funkční odkaz?
Prosím poraďte, nevím si s tím rady.
Laura
Profil *
Mechanik: Jdeš na to správně, ale musíš ještě vytvořit novou rubriku "novinky" a nastavit jí, aby používala stránku "novinky" a správný styl (stejný jako úvodní stránka). Odkaz na novinky bude potom vypadat takhle: <a href="/novinky/">Novinky</a>
Mechanik
Profil *
Laura: Děkuji za radu, vyzkouším to a věřím, že se mi podaří stránky zprovoznit
AlešD
Profil
Jen bych podotknul, že výpis rubrik lze udělat třeba takto:

<txp:section_list wraptag="menu" break="li" />

získáme odkazy všech rubrik v podobě seznamu, který může sloužit jako navigační menu
Mechanik
Profil *
Mám ještě jeden dotaz, jelikož chci nejdřív otestovat své stránky vytvořené v Textpattern offline ve svém pc, nainstaloval jsem si do počítače program EasyPHP (server Apache, PHP, MySQL). Všechno mi funguje až na to, že nemůžu využívat tzv. "hezkých" odkazů ( www.domena.cz/neco/ ), ale pouze tzv. "ošklivých" ( www.domena.cz/?id=neco ). Nevíte někdo, jak mám nakonfigurovat EasyPHP, abych mohl využívat i těch hezkých odkazů.
AlešD
Profil
Musíš povolit v Apachi mod_rewrite.

Konfigurace souboru httpd.conf:

najít řádek LoadModule rewrite_module modules/mod_rewrite.so
Odkřížkovat tento řádek a řádky k němu příslušející
Uložit httpd.conf
Restarovat Apache.

Zkus spustit test configuration, zda služba běží.

P.S.: je možné, že v EasyPHP je nějaká starší verze Apache, která to má defaultně zakázané, v mé verzi to bylo povolené (aspoň si to myslím)
Mechanik
Profil *
Tak jsem koukal do toho souboru httpd.conf, našel ten řádek, ale odkřížkovaný už byl, bylo tam toto:

#LoadModule rewrite_module modules/mod_rewrite.so

Nevím, co dělám špatně, ale odkazy tvaru "localhost/neco/" mi stále nechodí, vždy to vyhodí tuto hlášku:

404 Not Found
The requested URL /novinky/ was not found on this server.
Apache/1.3.33 Server at localhost Port 80

Pokud to přepnu na odkazy typu "localhost/index.php?s=neco tak to normálně funguje.
Ivorius
Profil
Tak nevím jestli si to špatně pochopil ty nebo já, ale místo #LoadModule rewrite_module modules/mod_rewrite.so tam musíš nechat jen LoadModule rewrite_module modules/mod_rewrite.so

Jinak EasyPHP má myslím standartně zakázáno mod_rewrite a musí se to skutečně povolovat dodatečně. Nezapomeň po změnách apache restartovat.
Mechanik
Profil *
Tak jsem to konečně pochopil a udělal všechno tak, jak píšeš, ale pořád to nefunguje, takže chyba bude asi jinde, ale i tak díky za radu.
Mechanik
Profil *
Už jsem vyzkoušel ledacos a pořád nic, nejde to a nejde. Nevím, kde dělám chybu? Všechno jsem udělal od začátku a pořád nic.

1. Nainstaluju soft EasyPHP 1.8

2. Spustím EasyPHP a přes nabídku programu "Konfigurace" - "Apache" otevřu soubor "httpd.conf", najdu řádek

#LoadModule rewrite_module modules/mod_rewrite.so

ten přepíšu na

LoadModule rewrite_module modules/mod_rewrite.so

a uložím změny.

3. Restartuju Apache

4. Nahraju si do adresáře "WWW" (u mě C:Program FilesEasyPHP1-8www ) soft "Textpattern 4.0.4" (cz-textpattern-4.0.4-rozsirene) a v prohlížeči zadám http:/localhost/textpattern/setup/, čímž spustím jeho instalaci, která proběhne bez problémů.

5. Přes http://localhost/textpattern/ se dostanu do administrace redakčního systému, ale když zvolím v nastavení tvar odkazu např. na rubrika/nazev/, tak mi to nefunguje a pořád vyhazuje hlášku 404 Not Found. Když tvar odkazu dám na ?=ošklivé všechno funguje, ale já bych radši ten první tvar odkazů.

Tak kde dělám chybu?
Ivorius
Profil
Tak mě napadá zkus ještě zkontrolovat, zda-li máš povoleno .htaccess

BTW. máš tam vůbec vložen ten .htaccess? zadáváš správnou adresu? nebo kdy ti to vyhodí 404? když jseš na hlavní stránce nebo až po odkliku na link?
Mechanik
Profil *
Soubor .htaccess mám nakopírován v adresáři, kam jsem umístil textpattern (C:Program FilesEasyPHP1-8www), ale kde a jak ho mám povolit, nebo vložit nevím. 404 mi to vyhazuje, pokud kliknu na link např. Komentář, ale jen v tom případě, když nastavím odkazy na tvar typu rubrika/nazev, jestliže to nechám ve tvaru ?=ošklivé, tak se mi po kliknutí na ten link stránka s komentářem normálně zobrazí. Jinak hlavní stránka se mi zobrazí vždy, když kliknu na záložku zobrazit, ať mám ty odkazy nastavené tak nebo tak.
AlešD
Profil
Za tím "Load Module..." by mělo být ještě něco takového:

<Directory "c:/www">
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Ta cesta c:/www samozřejmě musí podle tvého nastavení.
AlešD
Profil
Ještě mě napadá, zkus si prohlédnout soubor access.log v adresáři /logs apača
Mechanik
Profil *
Tak pořád je to bez úspěchu, hlavní stránka se načte vždycky, ale linky z ní nefungují ať dělám, co dělám. Vyzkoušel jsem všechno, co jsem se tady dočetl, ale nikam jsem se nehnul. Soubor access.log jsem si otevřel, ale jelikož nejsem žádný profík, tak mi ty informace v něm obsažené nic moc neřeknou, ale tady je malý výpis z něj, toto se do něj zapíše, když mi ty odkazy nejdou:

127.0.0.1 - - [04/Jan/2007:17:49:33 +0100] "GET /rs/ HTTP/1.1" 200 3501
127.0.0.1 - - [04/Jan/2007:17:49:33 +0100] "GET /rs/textpattern/css.php?s=default HTTP/1.1" 200 2395
127.0.0.1 - - [04/Jan/2007:17:49:44 +0100] "GET /rs/article/first-post HTTP/1.1" 404 330

a pak je v té složce /logs ještě soubor error.log a do něj se při vzniku chyby zapíše následující:

[Thu Jan 04 17:49:03 2007] [error] Cannot remove module mod_rewrite.c: not found in module list
[Thu Jan 04 17:49:44 2007] [error] [client 127.0.0.1] File does not exist: c:/program files/easyphp1-8/www/rs/article/first-post
[Thu Jan 04 17:50:10 2007] [error] Cannot remove module mod_rewrite.c: not found in module list
AlešD
Profil
c: not found in module list

někde je blbě nastavená cesta. Sice to nevím jistě, spíš už je to zoufalství ale, co třeba tohle?

<Directory "c:/program files/easyphp1-8/www/">
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Podívej se taky tady
ObiSkyWalker
Profil
Mám doma nainstalován VertrigoServ a Textpattern mi na něm jede bez problémů. Tobě bych ho doporučoval také. Je aktuálnější než EasyPHP a lépe ovladatelný (i když v angličtině). Můžeš ho stáhnout na http://vertrigo.sourceforge.net/ .
Mechanik
Profil *
Už to běží tak, jak má, paráda! Přeci jen to byl špatně nakonfigurovaný Apache, respektive soubor "httpd.conf". Když to shrnu tak jsem postupoval dle rad takto:

1. našel řádek
#LoadModule rewrite_module modules/mod_rewrite.so

a zrušil u něj zakřížkování tedy na

LoadModule rewrite_module modules/mod_rewrite.so

2. za ten řádek "LoadModule..." jsem zapsal

<Directory "c:/program files/easyphp1-8/www/">
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

3. a nakonec jsem ještě nalezl řádek

#AddModule mod_rewrite.c

a u něj zrušil zakřížkování na

AddModule mod_rewrite.c

4. uložil změny, restartoval apache a hotovo, chodí to.

Zapomněl jsem na ten výše uvedený bod 3. a přitom je to v tom konfiguračním souboru httpd.conf napsané, že pokud provedu změny v sekci "LOADMODULE" musím nastavit i sekci "ADDMODULE", přesně tam stojí [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE, UPDATE THIS TOO!]

Děkuju za rady a pomoc při řešení mého problému.
MaJJ
Profil
Před asi půl hodinou jsem založil nový thread, úplně o tom samém problému, search jsem zkusil až potom ... nu což :)
Problém je tedy v tom ADDMODULE. Jenže já ho v tom httpd.conf NIKDE NEMÁM! Kde ho mám dopsat, případně kde ho najdu? Používám také EasyPHP.

edit: Vypadá to, že to ADDMODULE není vůbec v Apache 2, nebo co. Nainstaloval jsem totiž VertigoServ a nepomohlo to (v httpd.conf zase nebyla ta sekce ADDMODULE). Nejnovější verze tedy ADDMODULE vyřadila. Teď stahuju EasyPHP 1.8 (tuhle verzi má nejspíš Mechanik) a pokud ani tahle nepomůže, tak starší a starší, podle toho zjistím potřebné verze, atd.

NEBYLO BY LEPŠÍ, KDYBY MI NĚKDO POSLAL HTTPD.CONF, VE KTERÉM JE ADDMODULE? :D Prosím :)

======================================================================

OK, stáhl jsem EasyPHP 1.8 (předtím jsem měl betaverzi, 2.0, v tom to asi bylo). Hezké URL fungují, vše je v pořádku. Díky! :)
Toto téma je uzamčeno. Odpověď nelze zaslat.