Ostatní témata (Off Topic témata) : phpRS Fórum
Máte problém s konfigurací počítače? Hledáte nejlepší webhosting pro vaši aplikaci? Nevíte si rady s nějakým zajímavým programátorským oříškem? Týká se dotaz fóra? ... Pokud ano, tak je toto diskuzní fórum určeno právě vám.
phpRS - redakční a informační systém
Jít na stránku:  Předchozí1234567Další
Aktuální stránka:4 z 7
Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: wudy (IP adresa zaznamenána)
Datum: 2005-11-24, 15:39

Našel jsem skvělý zdroj informací o SEO a v češtině.
Tady je: [http://seo.jasminka.cz/] nebo přímo na pdf: [http://seo.jasminka.cz/seo-kniha.pdf]

wudy
[http://www.lipnik.info]
[http://hranictibikeri.net/webzin]
mirek <puntik> chk <kysela rybka> seznam <puntik> cz

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: soucekp (IP adresa zaznamenána)
Datum: 2006-01-22, 17:24

Ahoj,

mohl bych se zeptat jaký význam má v regulárním výrazu druhá pomlčka? respektive
jaký rozdíl je mezi následujícími dvěma reg. výrazy?

1. RewriteRule ^([0-9-]*)-(.*).html$ view.php?cisloclanku=$1 [L,QSA]

2. RewriteRule ^([0-9]*)-(.*).html$ view.php?cisloclanku=$1 [L,QSA]

Díky za odpověď Petr

---
Petr Souček, [http://www.maestroclub.cz]

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: JanVar (IP adresa zaznamenána)
Datum: 2006-01-22, 18:58

regulární výrazy...
buď u mne v downloadu, případně přímo na stránkách autora

je to trochu složitější, ale pochopit se to dá...

-- JaV ---- [http://www.hades.cz] ---- security by obscurity ---------------------------------------------
motto:
It's OK to be ignorant; it's not OK to play stupid.
But it's simply not efficient for us to try to help people who are not willing to help themselves.
----------------------------------------------------------------------------------------------------------------------

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: soucekp (IP adresa zaznamenána)
Datum: 2006-01-23, 21:21

Ahoj díky za odkaz,

krásně jsem si početl ... ale přesto bych se chtěl ještě zeptat:

Proč je v hranatých závorkách ta druhá pomlčka, vždyť mi snad chceme dostat číslo článku, které je tvořeno pouze číslicemi? Proto mně přijde logičtější můj výraz č. 2

2. RewriteRule ^([0-9]*)-(.*).html$ view.php?cisloclanku=$1 [L,QSA]

díky za odpověď

Petr

--
Petr Souček
[http://www.maestroclub.cz]

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: JanVar (IP adresa zaznamenána)
Datum: 2006-01-23, 22:36

přece že množina znaků...

-- JaV ---- [http://www.hades.cz] ---- security by obscurity ---------------------------------------------
motto:
It's OK to be ignorant; it's not OK to play stupid.
But it's simply not efficient for us to try to help people who are not willing to help themselves.
----------------------------------------------------------------------------------------------------------------------

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: soucekp (IP adresa zaznamenána)
Datum: 2006-01-23, 22:46

... no právě ...

chceme přeci udělat regulární výraz pro URL

[http://www.maestroclub.cz/2005031203-zooadopce-dikobraz-srstnatonosy.html]

a přesměrovat jej na

[http://www.maestroclub.cz/view.php?cisloclanku=2005031203]

a dle reg. výrazu č.2 bude

(2005031203)-(zooadopce-dikobraz-srstnatonosy).html
^ ([0-9]*) - (.*) .html$

a nebo se mýlím?

--
Petr Souček
[http://www.maestroclub.cz]

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: soucekp (IP adresa zaznamenána)
Datum: 2006-01-24, 23:08

Ahoj,
já jsem nakonec SEO odkazy na svém webu zprovoznil následujícím způsobem:

do view.php

include_once("seolink.php");

// test na pritomnost promenne $cisloclanku
if (!isset($GLOBALS["cisloclanku"])):
echo "<html><body><p align=\"center\" class=\"z\">".RS_VWERR1."<p></body></html>\n";
exit();
else:
$GLOBALS["cisloclanku"] = substr($GLOBALS["cisloclanku"],0,10);
$seolink = UdelejSeoLinkClankuB($GLOBALS["cisloclanku"]);
$url_link = $HTTP_SERVER_VARS["REQUEST_URI"];
if ($url_link != ("/".$seolink)) {
Header("HTTP/1.1 301 Moved Permanently");
Header("Location:".$GLOBALS["baseadr"].$seolink);
Header("Connection: close");
}
endif;

soubor seolink.php

<?php

function UdelejSeo ($titulek="")
{
// prevedu vse na maly pismena (A!=a!!!!), yneskodnim hackz a carky blby znaky nahradim "-" (pomlckous)
$titulek = strtolower($titulek);
$co = array("&quot;"," ", "/", "\\", "&", "?", "!", "@", "\$", "%", "^",
"*", "(", ")", "+", "~", ";", "'", "\"", ">", "<", "|", ",", ":",
"=", "´", "§", "[", "]", "{", "}", "¨", "ë", "ä", "`", "_",
"„","“","…");
$naco = array("-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
"-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-",
"-", "-", "-", "-", "-", "-", "-", "-", "e", "a", "-", "-",
"-", "-", "-");
// Nahradim nezadouci znaky v novem nazvu dle techto poli - trochu paranoia, nemyslite? :)
$titulek = str_replace($co,$naco,$titulek);

$diak ="ěščřžýáíéťňďúůóöüĚŠČŘŽÝÁÍÉŤŇĎÚŮÓÖÜ ëä";
$diak.="\x97\x96\x91\x92\x84\x93\x94\xAB\xBB";
$ascii="escrzyaietnduuoouESCRZYAIETNDUUOOU-ea";
$ascii.="\x2D\x2D\x27\x27\x22\x22\x22\x22\x22";
$titulek = StrTr($titulek,$diak,$ascii);
$titulek = ereg_replace("[^[:alnum:]\.]","-",$titulek);
return $titulek;
}

function UdelejSeoLinkClanku ($tema = "", $link = "", $titulek="") {
return $link."-".UdelejSeo($tema)."-".UdelejSeo($titulek).".html";
}

function UdelejSeoLinkClankuB ($link = "") {
$query = "select ".$GLOBALS["rspredpona"]."clanky.titulek Ctitulek, ".$GLOBALS["rspredpona"]."topic.nazev Tnazev "
."from ".$GLOBALS["rspredpona"]."clanky, ".$GLOBALS["rspredpona"]."topic "
."where (tema = idt) AND (link = '".$link."')";
$dotaz = mysql_query($query, $GLOBALS["dbspojeni"]);
return $link."-".UdelejSeo(mysql_Result($dotaz,0,"Tnazev"))."-".UdelejSeo(mysql_Result($dotaz,0,"Ctitulek")).".html";
}

?>

a veškeré volání funkce "view.php?cisloclanku=" jsem nahradil za volání fce UdelejSeoLinkClankuB nebo UdelejSeoLinkClanku ve všech souborech redakčního systému ...
Do všech souborů, kam vkládáte volání fce UdelejSeoLinkClankuB vložte příkaz include_once("seolink.php");
(ono to není všude nutné, ale nic tím nezkazíte :-)

soubor .htaccess
RewriteEngine on
RewriteBase /
RewriteRule ^([0-9]*)-(.*).html$ view.php?cisloclanku=$1 [L,QSA]


nyní mi už SEO odkazy fungují na celém webu - v komentářích, ve výpisu vyhledávání, ...

Výsledek si můžete prohlédnout na [http://www.maestroclub.cz]

Petr

--
Petr Souček
[http://www.maestroclub.cz]




Celkem upraveno 2×. Poslední úprava soucekp v 25.01.2006 12:03.

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: kozel (IP adresa zaznamenána)
Datum: 2006-01-25, 11:26

Dobry den,
dekuji Vam za radu, bohuzel i po zmene vsech view.php?cisloclanku= na
UdelejSeoLinkClankuB ve vsech souborech a do kazdeho zmeneneho souboru jsem na zacatek pridal include_once("seolink.php"); se mi stale zobrazuje chybova hlaska na uvodni strance i pri kliknuti na clanek (phpRS 2.6.5):

function UdelejSeo ($titulek="") { // prevedu vse na maly pismena (A!=a!!!!), yneskodnim hackz a carky blby znaky nahradim "-" (pomlckous) $titulek = strtolower($titulek); $co = array("""," ", "/", "\\", "&", "?", "!", "@", "\$", "%", "^", "*", "(", ")", "+", "~", ";", "'", "\"", ">", "<", "|", ",", ":", "=", "´", "§", "[", "]", "{", "}", "¨", "ë", "ä", "`", "_", "„","“","…"); $naco = array("-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "e", "a", "-", "-", "-", "-", "-"); // Nahradim nezadouci znaky v novem nazvu dle techto poli - trochu paranoia, nemyslite? :) $titulek = str_replace($co,$naco,$titulek); $diak ="ěščřžýáíéťňďúůóöüĚŠČŘŽÝÁÍÉŤŇĎÚŮÓÖÜ ëä"; $diak.="\x97\x96\x91\x92\x84\x93\x94\xAB\xBB"; $ascii="escrzyaietnduuoouESCRZYAIETNDUUOOU-ea"; $ascii.="\x2D\x2D\x27\x27\x22\x22\x22\x22\x22"; $titulek = StrTr($titulek,$diak,$ascii); $titulek = ereg_replace("[^[:alnum:]\.]","-",$titulek); return $titulek; } function UdelejSeoLinkClanku ($tema = "", $link = "", $titulek="") { return $link."-".UdelejSeo($tema)."-".UdelejSeo($titulek).".html"; } function UdelejSeoLinkClankuB ($link = "") { $query = "select ".$GLOBALS["rspredpona"]."clanky.titulek Ctitulek, ".$GLOBALS["rspredpona"]."topic.nazev Tnazev " ."from ".$GLOBALS["rspredpona"]."clanky, ".$GLOBALS["rspredpona"]."topic " ."where (tema = idt) AND (link = '".$link."')"; $dotaz = mysql_query($query, $GLOBALS["dbspojeni"]); return $link."-".UdelejSeo(mysql_Result($dotaz,0,"Tnazev"))."-".UdelejSeo(mysql_Result($dotaz,0,"Ctitulek") ).".html"; }
Fatal error: Call to undefined function UdelejSeoLinkClankuB() in C:\www\phprs\view.php on line 33


Nevite nekdo co s tim? Dekuji

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: soucekp (IP adresa zaznamenána)
Datum: 2006-01-25, 11:49

... já sice používám phprs 2.5.5b, ale v tom bych neviděl problém ...

Ještě se (možná blbě:-) zeptám: Co přesně se Vám objeví za chybu? To se Vám vypíše i výše uvedená část kódu, kterou zde uvádíte? Případně mi pošlete Váš view.php mailem ... podívám se na to ...

PS

---
Petr Souček
soucek at maestroclub.cz
[http://www.maestroclub.cz]

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2006-01-25, 11:56

Takto z diaľky :) to vyzerá na chybu v seolink.php a to takú že chýba na začiatku súboru <?php a na konci ?> ;)



Celkem upraveno 1×. Poslední úprava pa3k v 25.01.2006 11:57.

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2006-01-25, 11:58

Pretoze include prebehne ale vypíše obsah seolink.php čo zodpovedá hláške na konci: Fatal error: Call to undefined function UdelejSeoLinkClankuB() in C:\www\phprs\view.php on line 33
Miesto deklarácie funkcie pošle text na výstup.

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: soucekp (IP adresa zaznamenána)
Datum: 2006-01-25, 12:02

to bude ono - to mě fakt nenapadlo :-)

... provedu aktualizaci příspěvku výše, aby tam byl výpis soubor seolink.php komplet i s počáteční a koncovou značkou <?php a ?>

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: kozel (IP adresa zaznamenána)
Datum: 2006-01-25, 12:22

No jo! :D muhehehe Diky za radu ;)

Jenze ted mam dalsi problem. Kliknu treba na clanek [http://localhost/phprs/2001061101-informace-vitejte-v-phprs-.html] ale vypise to ze stranka neexistuje. Co mam delat aby se ta stranka nejak sama vygenerovala do .html?

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: kozel (IP adresa zaznamenána)
Datum: 2006-01-25, 13:21

Co mam tedy udelat dal aby me to fungovalo? Zatim jsem vsechno provedl podle navodu, ktery poskytl uzivatel soucekp. Diky

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: soucekp (IP adresa zaznamenána)
Datum: 2006-01-25, 13:37

musíte k tomu mít nakonfigurován webový server apache, aby podporoval
modul mod_rewrite a soubory .htaccess (tento modul překládá adresu z typu
2005010101-blbaadafd.html => view.php?cisloclanku=2005010101)

Konfiguraci změníme v souboru httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

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

Restartujeme apache ...

A pokud máte v adresáři s phprs soubor .htaccess dle návodu výše, tak by to mělo
fungovat ...

PS

---
Petr Souček
soucek at maestroclub.cz
[http://www.maestroclub.cz]

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: kozel (IP adresa zaznamenána)
Datum: 2006-01-25, 14:19

V httpd.conf jsem nasel radek #LoadModule rewrite_module modules/mod_rewrite.so a upravil jsem ho jak jste mi napsal, ale bohuzel mi stale prohlizeni clanku nefunguje. :( Cesta k souboru httpd.conf je v mem pripade C:\Program Files\PHP Home Edition 2\Apache2\conf\httpd.conf. Diky za kazdou radu


#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
<Directory>
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "C:/www">
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2006-01-25, 14:32

Podrobný návod na rozbehanie mod_rewrite je skôr na rozsiahlejší článok - na webe je ich dosť, stačí pohľadať.

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: soucekp (IP adresa zaznamenána)
Datum: 2006-01-25, 14:37

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

tuto část kódu musíš upravit dle tvé konfigurace ... záleží na tom v jakém
adresáři pracuješ v phprs (ve výše uvedeném příkladě se předpokládá,
že to je "c:/www" ... ty budeš mít asi něco jako
"C:/Program Files/PHP Home Edition 2/Apache2/htdocs/" (pozor na zpětná
lomítka - musí se uvádět lomítka normální!)

Ideální je nastavení AllowOverride All nastavit v document root ...
nebo ještě lépe všude, kde je "AllowOverride" dát na All ...

PS

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: soucekp (IP adresa zaznamenána)
Datum: 2006-01-25, 14:50

Pokud si necháte zobrazit informace o nastavení PHP pomocí

<?php
phpinfo();
?>

tak musíte nalézt v sekci apache

Loaded Modules mod_log_spread, mod_php4, mod_setenvif, mod_unique_id, mod_expires, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_dir, mod_autoindex, mod_info, mod_status, mod_negotiation, mod_mime, mod_mime_magic, mod_env, mod_macro, mod_so, http_core

To je základ ...

pozn. po změně nastavení konfigurace musíte apache restartovat ...

PS

Re: Jak na SEO odkazy pomoci .htaccess a Rewrite
Zaslán uživatelem/kou: kozel (IP adresa zaznamenána)
Datum: 2006-01-25, 15:54

Ano, mod_rewrite tam mam:

Loaded Modules core mod_win32 mpm_winnt http_core mod_so mod_access mod_actions mod_alias mod_asis mod_auth mod_autoindex mod_cgi mod_dir mod_env mod_headers mod_imap mod_include mod_isapi mod_log_config mod_mime mod_negotiation mod_rewrite mod_setenvif mod_userdir mod_php5

Zmenil jsem vsechny AllowOverride None na AllowOverride All, ale bez vysledku :( a pracuji v C:\www\phprs

Tedka se jdu podivat po nejakem clanku o mod_rewrite snad na neco prijdu.

Diky moc...

Jít na stránku:  Předchozí1234567Další
Aktuální stránka:4 z 7


Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.