nicht-lesbare URL und Suchmaschinenfreunlichkeit
am 29.02.2008 - 13:55 Uhr in
Hallo,
auf meinem shared Host lassen sich die lesbaren URLs nicht einschalten/nutzen. Aber: Bin ich richtig informiert, dass die einschlägigen Suchmaschinen Seiten à la meinesite.net/?q=seite nicht indizieren? (Oder liege ich falsch?)
Gibt es da Abhilfe - etwa mit einem Modul, dass alternative statische html-Seiten erzeugt, die dann wiederum redirecten zum jew. Original. Oder andere Ideen?
Danke schon mal!
- Anmelden oder Registrieren um Kommentare zu schreiben

smartchaos
am 29.02.2008 - 14:21 Uhr
Hallo,
auf meinem shared Host lassen sic die lesbaren URLs nicht einschalten/nutzen. Aber: Bin ich richtig informiert, dass die einschlägigen Suchmaschinen Seiten à la meinesite.net/?q=seite nicht indizieren?
Nein, das ist ein Irrglaube. Google & Co. haben mit solchen URLs keine Probleme, auch wenn man die Anzahll der Parameter nicht ins unermessliche steigern sollte. Beweis genug sind haufenweise Suchergebnisse die auf Artikel in phpBB-Foren und Typo3-Seiten verweisen.
Gibt es da Abhilfe - etwa mit einem Modul, dass alternative statische html-Seiten erzeugt, die dann wiederum redirecten zum jew. Original. Oder andere Ideen?
Danke schon mal!
Ursache ist doch, dass dein Server kein mod_rewrite unterstützt. Ohne kannst du auch keine URLs umschreiben lassen. Ein HTTP Redirect wäre mal ziemlich witzlos, denn das Ziel (mit den Parametern) bekommt die Suchmaschine ja auch zu sehen.
--
"Look, Ma, I'm dead!"
Cell, Stephen King
re-write - doch
am 29.02.2008 - 15:45 Uhr
Doch, rewrite unterstützt mein Server. kann ich auch ein-/ausschalten. Wirkt sich aber nicht nachvollziehbar auf die Funktion der lesbaren URL aus.
Dann hast du was falsch
am 29.02.2008 - 16:15 Uhr
Dann hast du was falsch gemacht ;)
--
"Look, Ma, I'm dead!"
Cell, Stephen King
WebServer mod_rewrite
am 29.02.2008 - 17:16 Uhr
mmh, wahrscheinlich, nur was?
also:
"WebServer mod_rewrite" ist auf ON,
das Modul Path ist auch eingeschaltet
dennoch bietet Drupal gar nicht die Möglichkeit, die lesbare URL zu aktivieren (blass) und der Test findet die Testseite nicht.
Idee?
(schon mal ein Danke zwischendurch)
Trag mal in die
am 29.02.2008 - 17:30 Uhr
Trag mal in die htaccess-Datei die @RewriteBase@ ein (auskommentieren und Pfad setzen).
--
bv - drupalcenter.de
RewriteBase
am 29.02.2008 - 20:11 Uhr
RewriteBase =????
auskommentieren = ????
und Pfad setzen = ab oberstem Ordner des Webspaces?
sorry, bin da kein Pro.
.htaccess Datei öffnen
am 29.02.2008 - 20:18 Uhr
.htaccess Datei öffnen (liegt auf der obersten Verzeichnisebene Deiner Drupalinstallation) und die Raute (#) vor "RewriteBase" entfernen. Fertig! Das ist aber auch keine Garantie das es dann funktioniert, aber einen Versuch wert... :)
--
bv - drupalcenter.de
das war's
am 03.03.2008 - 13:47 Uhr
so einfach kann es manchmal sein...vielen Dank!
ich habe eben auch ziemlich
am 24.10.2009 - 16:37 Uhr
ich habe eben auch ziemlich lange gesucht bis ich es hinbekommen habe clean-urls verwenden zu können. Vielleicht hilft es ja auch anderen weiter:
Es hat erst geklappt als ich nicht nur
RewriteEngine onRewriteBase /
sondern auch
RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
einkommentiert (# entfernt) habe...
viele Grüße
-~blackfox~-
Ich habe leider nicht so
am 26.10.2009 - 19:34 Uhr
Ich habe leider nicht so viel Glück. Bei mir funktioniert es trotzdem nicht. Hat jemand noch eine andere Idee? Anbei die .htaccess Datei, so wie sie bei mir jetzt aussieht. Ich kann auch weiterhin in Drupal 6.x die Funktion lesbare URL nicht aktivieren. Wäre sehr dankbar, wenn mir jemand weiterhelfen kann!
Merci
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
Order allow,deny
# Don't show directory listings for URLs which map to a directory.
#Options -Indexes
# Make Drupal handle any 404 errors.
ErrorDocument 404 /drupal/index.php
# Force simple error message for requests for non-existent favicon.ico.
# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.
# Set the default handler.
DirectoryIndex index.php
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
# PHP 4, Apache 1.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# PHP 4, Apache 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# PHP 5, Apache 1 and 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# Requires mod_expires to be enabled.
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not cache dynamically generated pages.
ExpiresByType text/html A1
# Various rewrite rules.
RewriteEngine on
# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment and adapt the following:
# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
# RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
# RewriteBase /drupal
#
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
RewriteBase /
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# $Id: .htaccess,v 1.90.2.3 2008/12/10 20:04:08 goba Exp $
Provider?
am 27.10.2009 - 09:19 Uhr
Unterstützt denn Dein Provider bei Deinem Webspace die .htaccess Datei überhaupt? Das ist nämlich bei manchen Providern abhängig vom Produkt, das man hat.
Beste Grüße
Werner
Jetzt hat es geklappt, nach
am 28.10.2009 - 12:32 Uhr
Jetzt hat es geklappt, nach einer weiteren Veränderung der .htaccess
Danke
freut mich zu hören -
am 28.10.2009 - 19:12 Uhr
freut mich zu hören - schön wäre es jedoch, wenn du noch posten könntest welche Veränderung letztlich bei dir nötig war, damit ggf. andere mit gleichem Problem auch davon profitieren können...
viele Grüße,
-~blackfox~-
Wo bleigt die Antwort?
am 11.02.2010 - 01:16 Uhr
Hi,
habe mich extra registriert um zu Antworten ;)
Habe nämlich das selbe Problem. Ich probier jetzt erstmal eine
Standard .htaccess Konfiguration aus dem Drupal Paket zu finden.
Ich habe einen VHost. Der Webserver unterliegt also meinen
eigenen administrativen Eingriffen. ModRewrite ist installiert
und aktiviert. Habe auch versucht die Rechte auf die .htaccess
einzustellen aber Drupal meldet weiterhin, dass ModRewrite nicht
unterstützt wird - gibt es hierfür schon eine Lösung?
Gruß Sven
1. Du meinst vServer, nicht
am 11.02.2010 - 12:34 Uhr
1. Du meinst vServer, nicht VHost ;)
2. Hast du den vhost Eintrag in der Apache Konfig deines Webs so eingestellt, dass die .htaccess im Web überhaupt abgearbeitet wird? (Stichwort: AllowOverrides)
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
Alles scheint OK
am 11.02.2010 - 16:35 Uhr
Also so wie ich das bis jetzt gesehen habe läuft alles so wie das soll.
Der Blog läuft auf einem User-Verzeichnis also mit ~.
Ich habe jetzt den Eintrag für das entsprechende Verzeichnis mit AlloweOverride All und RewriteEngine On noch mal explizit gesetzt
aber anscheinend reagieren die Rewrite-Regeln gar nicht.
Ich weiß also nicht warum saubere URL's nicht verwendet werden können.
Ich müsste das dann auch erstmal auf einer anderen Seite testen ob das Rewrite Modul dort auch nicht funktioniert - vielleicht ist es nur ein ganz trivialer Fehler.
Gruß Sven
nicht-lesbare URL und Suchmaschinenfreunlichkeit
am 13.03.2010 - 14:52 Uhr
@ Sven
Hallo, ich habe mich auch tagelang durch die betreffenden Foren gelesen und es hat nicht funktioniert.
Ich bin bei Alfahosting und habe dort in den Servereinstellungen "mod_rewrite" auf on gestellt, eine halbe Stunde gewartet und eine .htaccess eingespielt, die "für alles offen" war.
Kein Erfolg.
Zuletzt habe ich den site Ordner gesichert, das ganze Drupal-Verzeichnis gelöscht und eine Drupal 6.1.6. eingespielt.
Danach in der .htaccess die RewriteBase auskommentiert (# entfernt, bei mir mit dem Eintrag /Drupal, weil dort meine Drupal Daten liegen)
und (immer noch unter dem Garland Temp) ein update.php gemacht.
Jetzt liessen sich - in dem Garland Temp - die lesbare URL aktivieren.
Nun braucht man nur noch den site Ordner wieder zurückschreiben und nochmal update.php ausführen.
Ich habe den Verdacht, dass sich die Einstellungen bei einem "jungfräulich" eingespielten Drupal beim ersten update.php den Servereinstellungen anpassen, denn nun war im neuen .htaccess das "RewriteEngine on" schon auskommentiert (# war nicht vorhanden).
Einen anderen Lösungsweg,
- Einstellungen auf Garland zurückstellen
- site Ordner sichern
- Drupal löschen
- Server auf mod_rewrite=on stellen (danach 10 min. Aktualisierung abwarten)
- neues Drupal einspielen
- update.php
- site Ordner zurückschreiben
- update.php
habe ich nicht probiert! Klingt aber auch logisch.
Gruß
Picanto
Cool, Danke für deinen
am 13.03.2010 - 22:22 Uhr
Cool, Danke für deinen Ratschlag, werde es bei nächster Gelegenheit ausprobieren.
= Sven
keine lesbaren urls
am 24.09.2010 - 10:41 Uhr
Hallo Community,
Also ich habe schon einige drupal Installationen vorgenommen und habe mit diesen htacces immer erfolgreich lesbare urls aktiviert.
Leider geht es bei einer aktuellen seite nicht. Ich weiss aber das mod_rewrite an ist und das htacces verwendet wird weil ich etwas geändert habe und sofort einen fehler auf der seite bekommen habe.
ich habe schon einige foren und blogs durch aber die lösung habe ich noch nicht.
mf scheint eine lösung gefunden zu haben aber er leider nicht gepostet.
Vielleicht kann mir jemand helfen.
Vielen Dank
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
Order allow,deny
# Don't show directory listings for URLs which map to a directory.
Options -Indexes
# Follow symbolic links in this directory.
Options +FollowSymLinks
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
# Force simple error message for requests for non-existent favicon.ico.
# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.
# Set the default handler.
DirectoryIndex index.php
# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.
# PHP 4, Apache 1.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# PHP 4, Apache 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# PHP 5, Apache 1 and 2.
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
# Requires mod_expires to be enabled.
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
# Do not allow PHP scripts to be cached unless they explicitly send cache
# headers themselves. Otherwise all scripts would have to overwrite the
# headers set by mod_expires if they want another caching behavior. This may
# fail if an error occurs early in the bootstrap process, and it may cause
# problems if a non-Drupal PHP file is installed in a subdirectory.
ExpiresActive Off
# Various rewrite rules.
RewriteEngine on
# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment and adapt the following:
# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
# RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
# RewriteBase /drupal
#
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
RewriteBase /
#Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]
# $Id: .htaccess,v 1.90.2.5 2010/02/02 07:25:22 dries Exp $
An alle, die dasselbe Problem
am 22.11.2010 - 18:52 Uhr
An alle, die dasselbe Problem haben und z.B. bei hoststar oder hostpoint (Schweizer Webhoster) sind:
Ich habe im Produktiveinsatz gemerkt, dass die .htaccess-Datei bei ungefähr 40% aller Fälle nach der Installation einfach "verschwinden". Ich habe keine Ahnung wieso. Dass im Nachhinein noch Rechte von Ordnern neu gesetzt werden müssen (z.B. der languages Ordner) bzw. Ordner gelöscht und korrekt erstellt werden müssen, ist ja nichts Besonderes dort.
Also: Kontrollieren, ob die .htaccess überhaupt noch dort ist, wenn nicht --> die ganz normale Standardkonfig reinkopieren, und es werde hell :-)
lg