[gelöst]RewriteEngine irgendwie seltsam
am 14.09.2012 - 16:38 Uhr in
[gelöst]Hallo Leute,
ich habe auf 1und1 zwei Drupal Anwendungen installiert und beide mit der gleichen .htaccess versehen.
Eine Anwendung ist ein Theme aus einem Buch. Hierbei funktioniert die Einstellung mit der „Lesbare URL“.
Bei der anderen Anwendung, eine frische Installation (deutsch) mit nur einem paar Menüpunkten
funktioniert nicht so wie sie soll:
Hier erhalte ich immer so etwas wie:
„.../node/1“.
Bei dieser Anwendung habe ich die Checkbox „Lesbare URSs
aktiviert und gespeichert. Bei dieser Installation erhalte ich auch eine in grün eingerahmte
nette Meldung:
„Die Konfiguration wurde gespeichert.“
Habe ich bei dieser (defekten) Drupal Anwendung vielleicht irgendeinen Schalter oder einen Datenbankeintrag vergessen?
Falls Ihr Euch das mal live anschauen wollt:
http://drupal.datenmark.de (funktioniert)
http://drup.datenmark.de (funktioniert nicht)
Der Vollständigkeit halber hier die .htaccess:
#
# Apache/PHP/Drupal settings:
#
# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl|svn-base)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$">
Order allow,deny
</FilesMatch>
# 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.
<Files favicon.ico>
# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.
</Files>
# 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.
<IfModule mod_php4.c>
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
</IfModule>
# PHP 4, Apache 2.
<IfModule sapi_apache2.c>
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
</IfModule>
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
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
</IfModule>
# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
# Enable expirations.
ExpiresActive On
# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600
<FilesMatch \.php$>
# 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
</FilesMatch>
</IfModule>
# Various rewrite rules.
<IfModule mod_rewrite.c>
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
#RewriteBase /dept/its/cgi-bin/drupalrocks
#
# 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]
</IfModule>
# $Id: .htaccess,v 1.90.2.5 2010/02/02 07:25:22 dries Exp $
AuthType Basic
AuthName "Passwort geschuetzter Bereich."
AuthUserFile *************/drupal/.htpasswd
require user mark
Vielen Dank für Euer Tips
Hallo Leute,
vielen Dank für Eure Hilfe. Meine Probleme sind jetzt gelöst.
Ich hatte für die Menüs keinen URL-Alias angegeben. Mit solch einem Alias werden
dann auch die klaren URLs angezeigt. Ich war davon ausgegangen, dass drupal das
von alleine hinbekommt.
@Pathauto das war genau der richtig Tip, jetzt funzen die „realen“ Menüs.
Also noch einmal vielen Dank.
Grüße aus Aachen
- Anmelden oder Registrieren um Kommentare zu schreiben
hast du denn bei der Version,
am 14.09.2012 - 20:43 Uhr
hast du denn bei der Version, wo es nicht funktioniert, auch Aliase für die einzelnen Nodes vergeben ?
Gruß
Berthold
Drupal Video-Tutorials
afaik ist die Funktion
am 14.09.2012 - 20:45 Uhr
afaik ist die Funktion "lesbare URLs" dafür da, aus "www.beispiel.de/?q=node/1" etwas wie "www.beispiel.de/node/1" zu machen. Soweit schaut alles normal aus bei der zweiten Seite. Was soll denn stattdessen dort stehen?
Wenn du Pathauto
am 14.09.2012 - 23:11 Uhr
installierst
http://drupal.org/project/pathauto
und dazu Token
http://drupal.org/project/token
kannst du Token als Ersetzungsmuster für die URLs angeben.
Dann wird aus der internen Drupal-URL "node/1"
bei einem Ersetzungsmuster für den entsprechenden Inhaltstyp von z.B. "irgendetwas/[title]"
so etwas "irgendetwas/der-titel-des-beitrages"
Greetz
abc123