.htaccess für Nicht-Techies
Berlin
16.03.2014
Malte Landwehr
Malte Landwehr
https://plus.google.com/+MalteLandwehr/
http://twitter.com/maltelandwehr
https://www.facebook.com/landwehr
...
Was ist die .htaccess?
Malte Landwehr
Malte Landwehr
HTTP_HOST seo-campixx-14.de
QUERY_STRING id=test&timestamp=123
REQUEST_URI /wp-content/uploads/2010/09/reis...
Malte Landwehr
HTTP_HOST seo-campixx-14.de
QUERY_STRING id=test&timestamp=123
REQUEST_URI /wp-content/uploads/2010/09/reis...
Malte Landwehr
HTTP_HOST seo-campixx-14.de
QUERY_STRING id=test&timestamp=123
REQUEST_URI /wp-content/uploads/2010/09/reis...
Malte Landwehr
HTTP_HOST seo-campixx-14.de
QUERY_STRING id=test&timestamp=123
REQUEST_URI /wp-content/uploads/2010/09/reis...
Malte Landwehr
vom HTTP_HOST auf
Ordner im Dateisystem
Im Ordner nach Datei
aus REQUEST_URI
suchen
QUERY_STRING an
Datei ü...
Malte Landwehr
Was ist die .htaccess?
• Konfigurationsdatei
• Apache Webserver
• Abarbeitung von oben nach unten
• hyperte...
Spammer & Scraper
aussperren
Nervt!
Kommentar-SPAM
Malte Landwehr
Problem
• Mein Forum wird regelmäßig mit Kommentaren
zugespammt.
• Die Spammer kommen oft von den gleichen ...
Malte Landwehr
IP-Adressen sperren
Order allow,deny
allow from all
deny from 31.41.216.134
deny from 84.232.199.206
deny f...
Malte Landwehr
Order allow,deny
allow from all
deny from 31.41.216.134
deny from 84.232.199.206
deny from 72.29.65.240
Die...
Ergebnis
Malte Landwehr
Anmerkung
• Befehle werden nicht in der Reihenfolge
ausgeführt, in der sie da stehen!
• „Fixed“ in Apache 2...
Malte Landwehr
IP-Ranges
deny from 5.100.192.0/14
deny from 31.24.88.0/21
deny from 37.17.0.0/17
deny from 37.44.64.0/18
Malte Landwehr
IP-Ranges
85 . 182 . 250 . 35
01010101 . 10110110 . 11111010 . 00011101
85 . 182 . 255. 255
/14
01010101 . ...
Malte Landwehr
IP-Ranges
deny from 5.100.192.0/14
deny from 31.24.88.0/21
deny from 37.17.0.0/17
deny from 37.44.64.0/18
h...
Hilft auch gegen Content-Diebe!
Scraper Sites
Screenshot entfernt.
Admin-Bereich absichern
(für jedes CMS!)
Malte Landwehr
Problem
• Ich habe unter /wp-admin/ einen
Bereich, in den nur ich mich einloggen
können soll.
• Ich nutze d...
Malte Landwehr
Ordner Sperre
Order deny,allow
allow from 192.168.0.1
deny from all
Malte Landwehr
Order deny,allow
allow from 192.168.0.1
deny from all
Niemand hat Zugriff
Diese IP hat Zugriff
deny > allow
Malte Landwehr
Besser
• htpasswd
Sicherheit &
Datenschutz
Wenn keine Index-Datei in einem Ordner liegt, soll
nicht der gesamte Inhalt aufgelistet werden.
• Sicherheit
• Rechtliche ...
Malte Landwehr
Directory Listing deaktivieren
Options -Indexes
index of name last modified size description "passwort.txt"
Fun Fact: google it
Screenshot entfernt.
Installierte Wordpress Plugins
Custom
Fehlermeldungen
Malte Landwehr
Problem
• Ich habe „eine“ Expired Domain
gekauft.
• Alle 404-Fehler sollen per 301 auf die
Startseite gelei...
Malte Landwehr
Custom 404 Fehler
ErrorDocument 404 /redirect.php
Malte Landwehr
Custom 404 Fehler
ErrorDocument 404 /redirect.php
Das auszugebende DokumentBefehl
Art des Fehlers
Malte Landwehr
redirect.php
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example.com/");
?>
Alternativen
• Echter 404 Fehler
• 404 im Header
• Inhalt für Nutzer
• Suchfunktion
• Sitemap
• Google Analytics
Malte Landwehr
Neil Patel über 404-Fehlerseiten
http://www.quicksprout.com/2013/12/04/11-seo-changes-that-will-give-you-bi...
Zweierlei Redirects
Malte Landwehr
Problem I
• Die URL-Struktur meiner Website hat sich
geändert.
• Beim Aufruf der alten URL
http://example.c...
Malte Landwehr
Einfacher Redirect
Redirect 301 /kategorie/thema/ http://forum.example.com/thema1/thema/
Malte Landwehr
Einfacher Redirect
Redirect 301 /kategorie/thema/ http://forum.example.com/thema1/thema/
Befehl
Art der Wei...
Malte Landwehr
Wie wird weitergeleitet?
Eingabe Ergebnis
/kategorie/thema/ http://forum.example.com/thema1/thema/
/kategor...
Malte Landwehr
Problem II
• Alle Aufrufe der Form
/empfehlungen.asp?id=123&page=456
oder
/empfehlungen.asp?id=666&page=42
...
Malte Landwehr
Dynamischer Redirect
RewriteEngine On
RewriteRule (^empfehlung.asp(.*)$) forward_empfehlung.php
Malte Landwehr
Dynamischer Redirect
RewriteEngine On
RewriteRule (^empfehlung.asp(.*)$) forward_empfehlung.php
Befehl
Regu...
Malte Landwehr
Dynamischer Redirect
RewriteEngine On
RewriteRule (^empfehlung.asp(.*)$) forward_empfehlung.php
Anfang
empf...
Malte Landwehr
Forward_empfehlung.php
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example...
Malte Landwehr
Wie wird weitergeleitet?
Eingabe Ergebnis
/empfehlung.asp http://www.example.com/empfehlungen.html
/empfehl...
Malte Landwehr
Anmerkung
• Geht auch ohne PHP.
Mehr Page Speed
Malte Landwehr
Browser-Caching
• Anweisung an den Client:
Diese statische Datei musst du für den
Zeitraum x nicht erneut a...
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access pl...
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access pl...
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access pl...
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access pl...
Malte Landwehr
Auswirkung auf Page Speed
http://developers.google.com/speed/pagespeed/insights/
76
78
80
82
84
86
88
90
Mo...
Malte Landwehr
Auswirkung auf Page Speed
http://developers.google.com/speed/pagespeed/insights/
70
75
80
85
90
95
100
Mobi...
Malte Landwehr
Achtung bei Relaunch!
• 1 Monat vorher auf 1 Woche setzen
• 1 Woche vorher auf 1 Tag setzen
• 1 Tag vorher ...
Malte Landwehr
Regelmäßige Änderungen von Bildern
• Subdomain
ExpiresByType image/gif "modification plus 2 hours"
statt ac...
Malte Landwehr
Ergänzung
• Ganzzahlige Zeiträume
• seconds, minutes, hours, days, weeks,
months, years
• "access plus 1 mo...
Malte Landwehr
Caching in der Wildnis (Startseiten)
Zalando Amazon
Ladenzeile Spiegel
http://httparchive.org/websites.php
URLs umschreiben
Malte Landwehr
Problem
• Wenn im Browser /user-123.html
aufgerufen wird, soll der Inhalt von
/profile.php?userid=123 angez...
Malte Landwehr
URLs umschreiben
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html
RewriteRule (.*) /pro...
Malte Landwehr
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html
RewriteRule (.*) /profile.php?userid=%...
Malte Landwehr
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html
RewriteRule (.*) /profile.php?userid=%...
Malte Landwehr
URLs umschreiben
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html
RewriteRule (.*) /pro...
Malte Landwehr
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html
RewriteRule ^(.*)$ /profile.php?userid...
Standard-Domain
Malte Landwehr
Problem
• Beim Aufruf von example.com soll auf
www.example.com weitergeleitet
werden.
• Der URL-Pfad soll e...
Malte Landwehr
Standard-Domain
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)$ http://www....
Malte Landwehr
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [...
Malte Landwehr
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [...
Malte Landwehr
Standard-Domain
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)$ http://www....
Malte Landwehr
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [...
PHP-Code in
.html-Dateien
Malte Landwehr
PHP-Code in .HTML-Dateien
• PHP-Code wird normalerweise nur in .php
Dateien ausgeführt.
• Statische Website...
Malte Landwehr
PHP-Code in .HTML-Dateien
AddType application/x-httpd-php .php .html .htm
Malte Landwehr
PHP-Code in .HTML-Dateien
AddType application/x-httpd-php .php .html .htm
PHP-Code ausführen
in diesen Date...
.jpeg .jpg .png .gif .css
Anmerkung II
Screenshot entfernt.
Canonical für PDF & Co
Malte Landwehr
Canonical für ein PDF
<Files druckansicht.pdf>
Header append Link "<http://www.example.omc/artikel.html>; r...
Malte Landwehr
Canonical für ein PDF
<Files druckansicht.pdf>
Header append Link "<http://www.example.com/artikel.html>; r...
Malte Landwehr
Ergebnis
http://web-sniffer.net/
Tools
.htaccess Editor
http://www.htaccesseditor.com/gr.shtml
• Gut zum Rumspielen
• Nie blind vertrauen
SEO Tools ärgern
Screenshot entfernt.
Danke für Eure
Aufmerksamkeit
Q&A
Upcoming SlideShare
Loading in...5
×

htaccess SEO Tipps

4,090

Published on

Mein Vortrag ".htaccess für Nicht-Techies" von der SEO-Campixx 2014.

Published in: Technology
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,090
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
44
Comments
0
Likes
12
Embeds 0
No embeds

No notes for slide

htaccess SEO Tipps

  1. 1. .htaccess für Nicht-Techies Berlin 16.03.2014 Malte Landwehr
  2. 2. Malte Landwehr https://plus.google.com/+MalteLandwehr/ http://twitter.com/maltelandwehr https://www.facebook.com/landwehr http://www.linkedin.com/in/landwehr • 2003 – now: SEO • 2007 – now: ORM • 2007 – 2014: Computer Science (BSc + MSc) • 2008 – 2010: CoFounder & Head of SEO • 2012 – 2013: Research (Social Network Analysis)
  3. 3. Was ist die .htaccess?
  4. 4. Malte Landwehr
  5. 5. Malte Landwehr HTTP_HOST seo-campixx-14.de QUERY_STRING id=test&timestamp=123 REQUEST_URI /wp-content/uploads/2010/09/reise.jpg
  6. 6. Malte Landwehr HTTP_HOST seo-campixx-14.de QUERY_STRING id=test&timestamp=123 REQUEST_URI /wp-content/uploads/2010/09/reise.jpg vom HTTP_HOST auf Ordner im Dateisystem
  7. 7. Malte Landwehr HTTP_HOST seo-campixx-14.de QUERY_STRING id=test&timestamp=123 REQUEST_URI /wp-content/uploads/2010/09/reise.jpg vom HTTP_HOST auf Ordner im Dateisystem Im Ordner nach Datei aus REQUEST_URI suchen
  8. 8. Malte Landwehr HTTP_HOST seo-campixx-14.de QUERY_STRING id=test&timestamp=123 REQUEST_URI /wp-content/uploads/2010/09/reise.jpg vom HTTP_HOST auf Ordner im Dateisystem Im Ordner nach Datei aus REQUEST_URI suchen QUERY_STRING an Datei übergeben
  9. 9. Malte Landwehr vom HTTP_HOST auf Ordner im Dateisystem Im Ordner nach Datei aus REQUEST_URI suchen QUERY_STRING an Datei übergeben In .htaccess des Ordners (sowie aller übergeordneter Ordner) schauen und passende Befehle ausführen. Dadurch können u.U. komplett neue Requests entstehen.
  10. 10. Malte Landwehr Was ist die .htaccess? • Konfigurationsdatei • Apache Webserver • Abarbeitung von oben nach unten • hypertext access
  11. 11. Spammer & Scraper aussperren
  12. 12. Nervt! Kommentar-SPAM
  13. 13. Malte Landwehr Problem • Mein Forum wird regelmäßig mit Kommentaren zugespammt. • Die Spammer kommen oft von den gleichen IP- Adresse: – 31.41.216.134 (Ukraine) – 84.232.199.206 (Rumänien) Alle IP-Adressen sind zufällige Beispiele!
  14. 14. Malte Landwehr IP-Adressen sperren Order allow,deny allow from all deny from 31.41.216.134 deny from 84.232.199.206 deny from 72.29.65.240
  15. 15. Malte Landwehr Order allow,deny allow from all deny from 31.41.216.134 deny from 84.232.199.206 deny from 72.29.65.240 Diese IP-Adressen haben keinen Zugriff allow > deny Jeder hat Zugriff
  16. 16. Ergebnis
  17. 17. Malte Landwehr Anmerkung • Befehle werden nicht in der Reihenfolge ausgeführt, in der sie da stehen! • „Fixed“ in Apache 2.4 – “Controling how and in what order authorization will be applied has been a bit of a mystery in the past” – RequireAll – RequireAny – RequireNone
  18. 18. Malte Landwehr IP-Ranges deny from 5.100.192.0/14 deny from 31.24.88.0/21 deny from 37.17.0.0/17 deny from 37.44.64.0/18
  19. 19. Malte Landwehr IP-Ranges 85 . 182 . 250 . 35 01010101 . 10110110 . 11111010 . 00011101 85 . 182 . 255. 255 /14 01010101 . 10110110 . 11****** . ******** 01010101 . 10110110 . 11000000 . 00000000 01010101 . 10110110 . 1111111111 . 11111111bis bis85 . 182 . 192 . 0 85 . 182 . 250 . 35
  20. 20. Malte Landwehr IP-Ranges deny from 5.100.192.0/14 deny from 31.24.88.0/21 deny from 37.17.0.0/17 deny from 37.44.64.0/18 http://incredibill.me/htaccess-block-country-ips
  21. 21. Hilft auch gegen Content-Diebe! Scraper Sites Screenshot entfernt.
  22. 22. Admin-Bereich absichern (für jedes CMS!)
  23. 23. Malte Landwehr Problem • Ich habe unter /wp-admin/ einen Bereich, in den nur ich mich einloggen können soll. • Ich nutze dafür die .htaccess im Ordner /wp-admin/.
  24. 24. Malte Landwehr Ordner Sperre Order deny,allow allow from 192.168.0.1 deny from all
  25. 25. Malte Landwehr Order deny,allow allow from 192.168.0.1 deny from all Niemand hat Zugriff Diese IP hat Zugriff deny > allow
  26. 26. Malte Landwehr Besser • htpasswd
  27. 27. Sicherheit & Datenschutz
  28. 28. Wenn keine Index-Datei in einem Ordner liegt, soll nicht der gesamte Inhalt aufgelistet werden. • Sicherheit • Rechtliche Probleme? Screenshot entfernt.
  29. 29. Malte Landwehr Directory Listing deaktivieren Options -Indexes
  30. 30. index of name last modified size description "passwort.txt" Fun Fact: google it Screenshot entfernt.
  31. 31. Installierte Wordpress Plugins
  32. 32. Custom Fehlermeldungen
  33. 33. Malte Landwehr Problem • Ich habe „eine“ Expired Domain gekauft. • Alle 404-Fehler sollen per 301 auf die Startseite geleitet werden.
  34. 34. Malte Landwehr Custom 404 Fehler ErrorDocument 404 /redirect.php
  35. 35. Malte Landwehr Custom 404 Fehler ErrorDocument 404 /redirect.php Das auszugebende DokumentBefehl Art des Fehlers
  36. 36. Malte Landwehr redirect.php <?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.example.com/"); ?>
  37. 37. Alternativen • Echter 404 Fehler • 404 im Header • Inhalt für Nutzer • Suchfunktion • Sitemap • Google Analytics
  38. 38. Malte Landwehr Neil Patel über 404-Fehlerseiten http://www.quicksprout.com/2013/12/04/11-seo-changes-that-will-give-you-big-results/ • I create custom ones that display a creative image […] also links out to 25 to 50 random internal pages • each time the 404 error page is loaded, the links automatically change • increase the number of pages that get indexed • TechCrunch: +9% search engine traffic in 30 days
  39. 39. Zweierlei Redirects
  40. 40. Malte Landwehr Problem I • Die URL-Struktur meiner Website hat sich geändert. • Beim Aufruf der alten URL http://example.com/kategorie/thema/ soll auf die neue URL http://forum.example.com/thema1/thema/ weitergeleitet werden.
  41. 41. Malte Landwehr Einfacher Redirect Redirect 301 /kategorie/thema/ http://forum.example.com/thema1/thema/
  42. 42. Malte Landwehr Einfacher Redirect Redirect 301 /kategorie/thema/ http://forum.example.com/thema1/thema/ Befehl Art der Weiterleitung Alte URL (relativ!) Neue URL (absolut!) Art der Weiterleitung
  43. 43. Malte Landwehr Wie wird weitergeleitet? Eingabe Ergebnis /kategorie/thema/ http://forum.example.com/thema1/thema/ /kategorie/thema/a http://forum.example.com/thema1/thema/a /kategorie/thema/?id=a http://forum.example.com/thema1/thema/?id=a /kategorie/them n/a /kategorie/ n/a
  44. 44. Malte Landwehr Problem II • Alle Aufrufe der Form /empfehlungen.asp?id=123&page=456 oder /empfehlungen.asp?id=666&page=42 sollen auf /empfehlungen.html weitergeleitet werden. • Alle Parameter sollen abgeschnitten werden!
  45. 45. Malte Landwehr Dynamischer Redirect RewriteEngine On RewriteRule (^empfehlung.asp(.*)$) forward_empfehlung.php
  46. 46. Malte Landwehr Dynamischer Redirect RewriteEngine On RewriteRule (^empfehlung.asp(.*)$) forward_empfehlung.php Befehl Regulärer Ausdruck Auszuführende Datei
  47. 47. Malte Landwehr Dynamischer Redirect RewriteEngine On RewriteRule (^empfehlung.asp(.*)$) forward_empfehlung.php Anfang empfehlung.asp bel. Zeichen bel. oft Ende
  48. 48. Malte Landwehr Forward_empfehlung.php <?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.example.com/empfehlungen.html"); ?>
  49. 49. Malte Landwehr Wie wird weitergeleitet? Eingabe Ergebnis /empfehlung.asp http://www.example.com/empfehlungen.html /empfehlung.asp?id=a http://www.example.com/empfehlungen.html /empfehlung.aspid=123 http://www.example.com/empfehlungen.html /empfehlung.asp?id=123&p=456 http://www.example.com/empfehlungen.html /empfehlung.aspx http://www.example.com/empfehlungen.html /empfehlung.aspx?id=123 http://www.example.com/empfehlungen.html
  50. 50. Malte Landwehr Anmerkung • Geht auch ohne PHP.
  51. 51. Mehr Page Speed
  52. 52. Malte Landwehr Browser-Caching • Anweisung an den Client: Diese statische Datei musst du für den Zeitraum x nicht erneut anfragen. • Weniger Traffic • Bessere Ladezeit • Bessere Page Speed-Bewertung
  53. 53. <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access 1 month” ExpiresByType application/javascript "access plus 1 month" </IfModule>
  54. 54. <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access 1 month” ExpiresByType application/javascript "access plus 1 year" </IfModule> Optional: Der Code wird nur ausgeführt, wenn das Modul mod_expires zur Verfügung steht
  55. 55. <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access 1 month” ExpiresByType application/javascript "access plus 1 year" </IfModule> Aktiviert den Expires-Bereich
  56. 56. <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month„ ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access 1 month” ExpiresByType application/javascript "access plus 1 year" </IfModule> Befehl Datei-Typ Zugriff als Basis Zeitraum (wird zur Basis addiert)
  57. 57. Malte Landwehr Auswirkung auf Page Speed http://developers.google.com/speed/pagespeed/insights/ 76 78 80 82 84 86 88 90 Mobile Desktop Ohne Browser-Caching Ohne Browser-Caching
  58. 58. Malte Landwehr Auswirkung auf Page Speed http://developers.google.com/speed/pagespeed/insights/ 70 75 80 85 90 95 100 Mobile Desktop Ohne Browser-Caching Mit Browser-Caching
  59. 59. Malte Landwehr Achtung bei Relaunch! • 1 Monat vorher auf 1 Woche setzen • 1 Woche vorher auf 1 Tag setzen • 1 Tag vorher auf 1 Stunde setzen • 1 Stunde vorher deaktivieren • Nach Relaunch erst mal deaktiviert lassen, falls es unerwartete Probleme gibt!
  60. 60. Malte Landwehr Regelmäßige Änderungen von Bildern • Subdomain ExpiresByType image/gif "modification plus 2 hours" statt access
  61. 61. Malte Landwehr Ergänzung • Ganzzahlige Zeiträume • seconds, minutes, hours, days, weeks, months, years • "access plus 1 month 15 days 2 hours"
  62. 62. Malte Landwehr Caching in der Wildnis (Startseiten) Zalando Amazon Ladenzeile Spiegel http://httparchive.org/websites.php
  63. 63. URLs umschreiben
  64. 64. Malte Landwehr Problem • Wenn im Browser /user-123.html aufgerufen wird, soll der Inhalt von /profile.php?userid=123 angezeigt werden. • In der Adresszeile des Browsers soll weiterhin /user-123.html stehen!
  65. 65. Malte Landwehr URLs umschreiben RewriteEngine on RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html RewriteRule (.*) /profile.php?userid=%1 [L] Achtung: Code ist nicht optimal, da nicht defensiv genug!
  66. 66. Malte Landwehr RewriteEngine on RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html RewriteRule (.*) /profile.php?userid=%1 [L] Aktiviert den Rewrite-Bereich Zu erfüllende Bedingung Auszuführende Regel
  67. 67. Malte Landwehr RewriteEngine on RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html RewriteRule (.*) /profile.php?userid=%1 [L] Rewrite Bedingung Dateipfad und -name der aufgerufenen URL Regulärer Ausdruck
  68. 68. Malte Landwehr URLs umschreiben RewriteEngine on RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html RewriteRule (.*) /profile.php?userid=%1 [L] /user- Beliebig viele Ziffern (kann später referenziert werden) .html
  69. 69. Malte Landwehr RewriteEngine on RewriteCond %{REQUEST_FILENAME} /user-([0-9]*).html RewriteRule ^(.*)$ /profile.php?userid=%1 [L] Rewrite Regel Regulärer Ausdruck /profile.php?userid= Referenz Flag
  70. 70. Standard-Domain
  71. 71. Malte Landwehr Problem • Beim Aufruf von example.com soll auf www.example.com weitergeleitet werden. • Der URL-Pfad soll erhalten bleiben, also z.B. example.com/a/1.html soll auf www.example.com/a/1.html zeigen.
  72. 72. Malte Landwehr Standard-Domain RewriteEngine On RewriteCond %{HTTP_HOST} !^www.example.com$ RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
  73. 73. Malte Landwehr RewriteEngine On RewriteCond %{HTTP_HOST} !^www.example.com$ RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] Aktiviert den Rewrite-Bereich Zu erfüllende Bedingung Auszuführende Regel
  74. 74. Malte Landwehr RewriteEngine On RewriteCond %{HTTP_HOST} !^www.example.com$ RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] Rewrite Bedingung Host der aufgerufenen URL Regulärer Ausdruck
  75. 75. Malte Landwehr Standard-Domain RewriteEngine On RewriteCond %{HTTP_HOST} !^www.example.com$ RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] Nicht Anfang www.example.com Ende
  76. 76. Malte Landwehr RewriteEngine On RewriteCond %{HTTP_HOST} !^www.example.com$ RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] Rewrite Regel Regulärer Ausdruck www.example.com Flags: • L: Keine weiteren Regeln • R: Art der Weiterleitung
  77. 77. PHP-Code in .html-Dateien
  78. 78. Malte Landwehr PHP-Code in .HTML-Dateien • PHP-Code wird normalerweise nur in .php Dateien ausgeführt. • Statische Websites mit hunderten von .html-Dateien übernommen. • Kleines PHP-Script ergänzen, das bestimmte Inhalte dynamisch lädt.
  79. 79. Malte Landwehr PHP-Code in .HTML-Dateien AddType application/x-httpd-php .php .html .htm
  80. 80. Malte Landwehr PHP-Code in .HTML-Dateien AddType application/x-httpd-php .php .html .htm PHP-Code ausführen in diesen Datei-Endungen
  81. 81. .jpeg .jpg .png .gif .css Anmerkung II Screenshot entfernt.
  82. 82. Canonical für PDF & Co
  83. 83. Malte Landwehr Canonical für ein PDF <Files druckansicht.pdf> Header append Link "<http://www.example.omc/artikel.html>; rel="canonical"" </Files>
  84. 84. Malte Landwehr Canonical für ein PDF <Files druckansicht.pdf> Header append Link "<http://www.example.com/artikel.html>; rel="canonical"" </Files> Attribut Alternativ: FilesMatch Befehl
  85. 85. Malte Landwehr Ergebnis http://web-sniffer.net/
  86. 86. Tools
  87. 87. .htaccess Editor http://www.htaccesseditor.com/gr.shtml • Gut zum Rumspielen • Nie blind vertrauen
  88. 88. SEO Tools ärgern Screenshot entfernt.
  89. 89. Danke für Eure Aufmerksamkeit Q&A

×