Verstehe ... dann war das [OR] im Original doch irgendwie überflüssig, oder?
Beiträge von gumble77
-
-
Da hab ich dann mal eine Verständnisfrage:
Wenn ein AND angenommen wird, würd ich das so verstehen, dass alle Conds zutreffen müssen, damit die Ersatzgrafik greift, oder?
Das wär aber doch nie der Fall, oder versteh ich das falsch? -
Das hab ich jetzt nicht ausprobiert - aber hat die übergeordnete .htaccess im root nicht Vorrang?
Ist aber nicht so wichtig, ich hab mir ganz einfach mit einer Dummy-Subdomain beholfen, auf der ich das Bild ablege.
Eine andere Frage: Wenn ich weitere Referer zulassen möchte, kann ich dann einfach die Zeile 3 klonen? Die Bildersuche von Google wird z.B. immer noch ausgesperrt, vermutlich weil der Aufruf von images.google.de kommt.
Mich irritiert nämlich noch das fehlende [OR] in Deiner Version (Zeile 2) ...
Gruß Alex -
Danke für den Tipp!
So scheint es grundsätzlich zu klappen.
Was würde eigentlich passieren, wenn die "Stop"-Grafik auf dem eigenen Server liegen würde - würde das hinhauen oder sich selbst aushebeln? -
Hallo zusammen,
hier bin ich auf einen interessanten Ansatz gestoßen, Bilder der eigenen Website via .htaccess gegen Content-Grabber zu schützen:
Apache ConfigurationRewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.de(/.*)?$ [NC] [OR] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google\.(de|com)(/.*)?$ [NC] RewriteRule \.(BMP|JPG|JPEG|GIF|PNG)$ http://upload.wikimedia.org/wikipedia/commons/8/81/Stop_sign.png [R,L]
Als ich das mit meiner WP-Installation ausprobiert hab, passierte allerdings gar nix, die Bilder ließen sich trotzdem unter anderen Domains einbinden.
Daher meine Frage: Kollidiert das irgendwie mit den WP-Schreibregeln?
Würde mich über Eure Anregungen freuen!
Gruß Alex -
Könnte das Problem vielleicht mit einer Rewrite-Regel zusammenhängen?
Nach einigen Cross-Site-Scripting-Fehlern hat der Support meines Hosters folgendes in die .htaccess eingetragen:
Apache ConfigurationRewriteCond %{HTTP_HOST} !(.*)www.meinedomain.de(.*) [NC] RewriteRule ^(.*)$ http://www.meinedomain.de/$1 [R,L]
Könnte das irgendwie querschießen? -
Da hab ich wohl mit den falschen Begriffen gesucht ...
Klappt super - vielen Dank für den Tipp!
Gruß Alex -
Hallo zusammen,
gibt es eine Möglichkeit, (nur!) auf der Startseite einen HTML-Block vor dem ersten Post zu platzieren, der "sticky" wäre? Ich würde damit gerne eine Infobox vor den Beiträgen umsetzen.
Wenn ich den Code in der index.php oder the_loop.php einfüge, wird er mir natürlich auch in den Archivseiten gezeigt - wo ich ihn nicht haben will.
Any ideas?
Danke!!
Gruß Alex -
*push* ;)
Könnte immer noch Hilfe brauchen. :( -
Der Fehler muss eigentlich in der navigation.php liegen:
PHP
Alles anzeigen<?php /* Template Name: Navigation */ ?> <?php if (is_single()) { ?> <div class="navigation"> <div class="floatleft"> <?php previous_post_link('« %link') ?> </div> <div class="floatright"> <?php next_post_link('%link »') ?> </div> </div> <?php } else { ?> <div class="navigation"> <div class="floatleft"> <?php next_posts_link('« '.__('« Ältere Beiträge','unnamed').''); ?> </div> <div class="floatright"> <?php previous_posts_link(''.__('Neuere Beiträge »','unnamed').' »'); ?> </div> </div> <?php } ?>
Das next_posts_link() wird nicht korrekt ausgegeben:
Statt "http: // www. domain .de/page/2/" wird "http: // www. domain .de/page/2" (Leerzeichen bitte wegdenken!) generiert. Allerdings funktioniert der eigentlich korrekte Link mit Slash genauso wenig.
Habe auch andere Template-Tags getestet, mit dem gleichen Ergebnis. Es ist so, als wäre die "Seite" einfach nicht vorhanden - ist das möglich?
Würde mich über Eure Hilfe riesig freuen! Danke! -
Der Übersicht halber hier nochmal der Inhalt von theloop.php:
PHP
Alles anzeigen<?php // This is the loop, which fetches entries from your database. // It is a delicate piece of machinery. Be gentle! ?> <?php /* Headlines for archives */ if ((!is_single() && !is_home()) || is_paged()) { ?> <h2 class="pagetitle"> <?php // Figure out what kind of page is being shown if (is_category()) { printf(__('Artikel der Kategorie \'%s\'','unnamed'), single_cat_title('',false)); } elseif (is_day()) { printf(__('Archiv für %s','unnamed'), get_the_time(__('F jS, Y','unnamed'))); } elseif (is_month()) { printf(__('Archiv für %s','unnamed'), get_the_time(__('F, Y','unnamed'))); } elseif (is_year()) { printf(__('Archiv für %s','unnamed'), get_the_time(__('Y','unnamed'))); } elseif (is_search()) { printf(__('Suchergebnisse für \'%s\'','unnamed'), $s); } elseif (function_exists('is_tag') && is_tag()) { printf(__('Tag-Archive für \'%s\'','unnamed'), get_query_var('tag') ); } elseif (is_paged() && ($paged > 1)) { printf(__('Archiv-Seite %s','unnamed'), $paged ); } ?> </h2> <?php } ?> <?php /* Start the loop */ if (have_posts()) { while (have_posts()) { the_post(); ?> <?php /* Permalink nav has to be inside loop */ if (is_single()) include (TEMPLATEPATH . '/navigation.php'); ?> <div id="post-<?php the_ID(); ?>" class="entry"> <h3 class="entry-header"><a href="<?php the_permalink() ?>" rel="bookmark" title='Permanent Link to "<?php strip_tags(the_title()); ?>"'> <?php the_title(); ?> </a></h3> <div class="date-header"> <?php printf(__(' von %1$s %2$s ','unnamed'), the_time(__(' j. F Y','unnamed')), get_the_author()) ?> </div> <?php if (is_search() || (function_exists('is_tag') && is_tag())) { the_excerpt(); } else { the_content(sprintf(__("[Weiter...]", 'unnamed'), the_title('', '', false))); } ?> <?php link_pages('<p><strong>Seiten:</strong> ', '</p>', 'number'); ?> <!-- <?php trackback_rdf(); ?> --> <?php if (is_home() || is_archive() || (function_exists('is_tag') && is_tag())) { ?> <?php if(function_exists(UTW_ShowTagsForCurrentPost)) { ?> <small> <?php _e('Tags:','unnamed'); ?> <?php UTW_ShowTagsForCurrentPost("commalist") ?> .</small> <?php } ?> <p class="entry-footer"> <?php edit_post_link(__('Bearbeiten','unnamed'),'<span class="metaedit">','</span>'); ?> <span class="metapost"> <?php the_category(','); ?> </span> <?php comments_popup_link('<span class="metacmt">'.__('Kommentar hinterlassen','unnamed').'</span>', '<span class="metacmt">1 '.__('Kommentar','unnamed').'</span>', '<span class="metacmt">% '.__('Kommentare','unnamed').'</span>', '', '<span class="metacmt">'.__('Geschlossen','unnamed').'</span>'); ?> </p> <?php } ?> </div> <?php } /* End The Loop */ ?> <?php /* Insert Paged Navigation */ if (!is_single()) { include (TEMPLATEPATH.'/navigation.php'); } ?> <?php /* If there is nothing to loop */ } else { $notfound = '1'; ?> <h2 class="center"> <?php _e('Nicht gefunden!','unnamed'); ?> </h2> <div class="entry"> <p> <?php _e('Diese Suche ging leider ins Leere! Nutzen Sie bitte die Sidebar oder das Menü.','unnamed'); ?> </p> </div> <?php /* End Loop Init */ } ?>
Ich seh den Fehler nicht, bin aber auch nicht sooo der PHP-Profi ... -
Ausgeschlossen wird bei mir nichts, weder im Theme noch via Plugin. Auf der Startseite werden alle Beiträge angezeigt, bzw. die letzten fünf.
Ich habe jetzt versucht, den Inhalt der navigation.php direkt in theloop.php einzusetzen. Ergebnis sind die gleichen Fehlermeldungen zu get_header().
Komischerweise funktionieren die Links in der Single-Ansicht, in der Kategorie-Ansicht und in der Monats- bzw. Jahresübersicht einwandfrei(!) - bloß auf der Startseite nicht.
Bin echt etwas ratlos! -
Im Prinzip ist das ganze Theme so aufgebaut, dass nicht ständig benötigte Teile in *.php ausgelagert und nur bei Bedarf als Include geladen werden.
In theloop.php möchte ich ungern rumpfuschen, nicht nur wegen des Hinweises
Zitat// This is the loop, which fetches entries from your database.
// It is a delicate piece of machinery. Be gentle!
Da kann man eine Menge zerschießen, und sooo PHP-kundig bin ich nun auch wieder nicht. :wink:
Der Schnipsel wird dort an zwei Stellen eingebunden:
PHP<?php /* Permalink nav has to be inside loop */ if (is_single()) include (TEMPLATEPATH . '/navigation.php'); ?>
PHP<?php /* Insert Paged Navigation */ if (!is_single()) { include (TEMPLATEPATH.'/navigation.php'); } ?>
Gruß Alex -
Hi,
vielen Dank für Deine Antwort!
Der Schnipsel befindet sich in bzw. stellt eigentlich dar die navigation.php.
Eingebunden wird sie in der theloop.php.
Die index.php ist dagegen ziemlich kurz gehalten:PHP<?php get_header(); ?> <div id="primary-content"> <?php include (TEMPLATEPATH . '/theloop.php'); ?> </div> <?php get_sidebar(); ?> <?php get_footer(); ?>
Gruß Alex -
Ich würde mich wirklich über etwas Hilfe freuen!
Habe die Stelle in meinem Theme gefunden und dort testweise mal die Template-Tags aus der Dokumentation zusätzlich eingefügt:
PHP
Alles anzeigen<?php /* Template Name: Navigation */ ?> <?php if (is_single()) { ?> <div class="navigation"> <div class="floatleft"> <?php previous_post_link('« %link') ?> </div> <div class="floatright"> <?php next_post_link('%link »') ?> </div> </div> <?php } else { ?> <div class="navigation"> <div class="floatleft"> <?php posts_nav_link('','','« Vorherige Seite') ?> <?php next_posts_link('« '.__('« Ältere Beiträge','unnamed').''); ?> </div> <div class="floatright"> <?php posts_nav_link('','Nächste Seite »','') ?> <?php previous_posts_link(''.__('Neuere Beiträge »','unnamed').' »'); ?> </div> </div> <?php } ?>
Beide Varianten generieren aber einen fehlerhaften Link: http://www.domain.tld/page/2
Beim Klick darauf landet man auf der Fehlerseite, die ihrerseits leider auch fehlerhaft reagiert (normalerweise aber funktioniert, z.B. bei direktem Aufruf einer nicht existenten Seite):
CodeFatal error: Call to undefined function get_header() in /www/htdocs/vXXXXXX/wp-content/themes/unnamed_1_14_deutsch/404.php on line 14
Danke für jeden Hinweis!!
Gruß Alex -
Wie sieht denn der PHP-Aufruf des Links in Euren Themes aus? Vielleicht hilft mir das ja schon weiter ...
-
Grundsätzlich funktioniert die Fehlerseite, wenn ich z.B. einen falschen Pfad eintippe.
Könnte da ein Pfadproblem vorliegen, oder dass z.B. ein Include fehlt? -
Hallo zusammen,
vielleicht könnt Ihr mir bei einem seltsamen Problem helfen.
Ich verwende WP 2.2.2 in Verbindung mit dem Unnamed-Theme in der deutschen Version 1.1.4.
Auf der Startseite ist unten der Link "Ältere Beiträge", der auf http://www.domain.tld/page/2 verweist. Klickt man darauf, wird aber die 404-Fehlerseite geladen, in der Form http://www.domain.tld/wp-content/the…4.php?error=404. Doch damit nicht genug, denn es erscheint nur ein Parse-Error:
ZitatFatal error: Call to undefined function get_header() in /www/htdocs/XXXXXXX/wp-content/themes/unnamed_1_14_deutsch/404.php on line 14
In der 404.php steht an der Stelle
Das ist ja nun echt blöd, dass das ausgerechnet auf der Startseite auftritt, und leider hab ich keine Ahnung, wo ich nach dem Fehler suchen soll.
Wenn mir jemand einen Schubs in die richtige Richtung geben könnte, würde ich mich riesig freuen!
Danke&Gruß
Alex -
Prima, danke für den Tipp!
-
Au Mann - kleine Ursache, große Wirkung.
Vielen Dank für den Hinweis! Hab das Brett vorm Kopf abmontiert, und so klappt's auch mit dem Nachbarn. ;)
Andere Frage: Kann man die Ausgabe noch verfeinern bzw. formatieren?
Mein Seitentitel wird vom all-in-one-seo-pack generiert in der Form "Seitentitel << Blogtitel". wp_title() liefert mir dagegen " Seitentitel". Sprich: vor allem irritieren mich die Leerzeichen vorab.
Kann man da was machen?