[Gelöst] pretty url bei version 1.6.3 funktioniert nicht

Hilfe zur Installation
Post Reply
Peter38
Forum Members
Forum Members
Posts: 79
Joined: Wed Oct 31, 2007 11:15 am

[Gelöst] pretty url bei version 1.6.3 funktioniert nicht

Post by Peter38 »

@all

nach dem Stöbern hier im Forum und dem Rumprobieren von verschiedenen Lösungsvorschlägen komme ich nicht weiter bei der Bildung von pretty urls.

config.php
$config['url_rewriting'] = 'mod_rewrite';
$config['page_extension'] = '/';
$config['use_hierarchy'] = true;
$config['query_var'] = 'page';
==> Pretty Url's werden (ohne index.php/) generiert. Aber logischerweise werden die Seiten nicht gefunden.

.htaccess
#AddHandler php5-cgi .php
#php_value max_execution_time 60

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
# RewriteCond %{REQUEST_URI} !/$
# RewriteCond %{REQUEST_URI} !\.
RewriteRule ^News/rss(.+)$ index.php?page=News/rss$1
# RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)(.html)?$ index.php?page=$1 [QSA]


==> Jetzt wird ein Serverfehler (Fehler 500) produziert. Meine Homepage ist nicht mehr aufrufbar.


#Options +FollowSymLinks
#RewriteEngine on
RewriteBase /


==> Wenn ich nun die Zeilen mit # wieder aussteuere, ist meine Homepage wieder aufrufbar, aber die Unterseiten nicht, da durch "mod_rewrite" die pretty url erzeugt wird.

Ich weiß mir keinen Rat mehr, was ich hier noch ändern kann, damit die URL ohne die index.php angezeigt wird.

Meine Seite: http://www.motouren.de

Gruß
Peter
Last edited by Peter38 on Mon Aug 17, 2009 2:30 pm, edited 1 time in total.
antibart
Power Poster
Power Poster
Posts: 1162
Joined: Sun Aug 17, 2008 9:29 am

Re: pretty url bei version 1.6.3 funktioniert nicht

Post by antibart »

Ich hab jetzt die Syntax der Regeln nicht haargenau überprüft. Aber es scheinen auf den ersten Blick die gleichen zu sein, die ich auch benutze.

Zunächst muss der Provider mod_rewrite natürlich unterstützen - ich gehe mal davon, dass du sicher bist, dass das bei dir der Fall ist.

Hast du es schon mal mit  mod_rewrite und einer anderen Dateiendung probiert?

Ersetz in der config.php doch mal

$config['page_extension'] = '/';

durch

$config['page_extension'] = '.html';


Denn ein "/" am Ende einer URL kann mitunter als Verzeichnis-Pfad verstanden werden.

Und wenn in der Regel steht:

# but only rewrites if the requested URL is NOT a file or directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)(.html)?$ index.php?page=$1 [QSA]

.. und du slash "/" als Page-Extension verwendest, wird wohlmöglich davon ausgegangen, dass es sich um ein Verzeichnis handelt - also wird (siehe roter Text), nichts überschrieben... zumal du ja auch use_hierarchy auf true gesetzt hast.

Ich gebe zu, dass mir die Syntax der Regeln in der .htaccess auch nicht zu 100% vertraut ist. Aber ich benutze die selben Rules wie Du. Und mit der Endung .html hat es bislang immer geklappt. Auch in 1.6.3

Hier zur Sicherheit nochma meine (funktionierenden) rewrite-rules. Müssten aber identisch mit deiner sein,

Code: Select all

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
# RewriteCond %{REQUEST_URI} !/$
# RewriteCond %{REQUEST_URI} !\.
RewriteRule ^News/rss(.+)$ index.php?page=News/rss$1 [S=1]
# RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)(.html)?$ index.php?page=$1 [QSA]
und die config

Code: Select all

$config['url_rewriting'] = 'mod_rewrite';
$config['page_extension'] = '.html';
$config['use_hierarchy'] = true;
$config['query_var'] = 'page';
Last edited by antibart on Fri Aug 14, 2009 9:41 am, edited 1 time in total.
Peter38
Forum Members
Forum Members
Posts: 79
Joined: Wed Oct 31, 2007 11:15 am

Re: pretty url bei version 1.6.3 funktioniert nicht

Post by Peter38 »

Hallo antibart,

vielen Dank für die Info. Aber keine Chance. Auch mit der Endung '.html' erscheint der Serverfehler (Error 500). Bei gelöschter .htaccess wird zwar der Seitenname geändert (= ohne "index.php") aber dafür wird dann die Seite nicht gefunden.

Gruß
Peter
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: pretty url bei version 1.6.3 funktioniert nicht

Post by nockenfell »

Bei mir habe ich folgende Einstellungen in der .htaccess. Diese habe ich heute frisch in eine neue 1.6.3 Installation implementiert:

.htaccess:

Code: Select all

Options +FollowSymLinks
  RewriteEngine on
  RewriteBase /
  
  # ReWrite Rule für News-Feed
  RewriteRule ^News/rss(.+)$ index.php?page=News/rss$1 [S=1]
 
  # 301 Redirect all requests that don't contain a dot or trailing slash to
  # include a trailing slash
  # RewriteCond %{REQUEST_URI} !/$
  # RewriteCond %{REQUEST_URI} !\.
  # RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
 
  # Rewrites urls in the form of /parent/child/
  # but only rewrites if the requested URL is not a file or directory
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.+).htm$ index.php?page=$1 [QSA] 

# Beginn CMSMS Security Einstellungen.

# Directory Browsing abschalten
Options -Indexes
Options +FollowSymLinks

# Zugriff auf config.php verbieten.

<Files "config.php">
order allow,deny
deny from all
</Files>

# No sense advertising what we are running
ServerSignature Off

# Spambots nach User_agent aussperren
RewriteCond %{HTTP_USER_AGENT} ^.*Whacker.*$ [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] 
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*JoBo.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*adressendeutschland.*$
RewriteRule ^.* - [F]

# 1. unterbindet, das fremde Seiten geladen werden
RewriteCond %{QUERY_STRING} ^(.*)=http://(.*) [OR]

# 2. blockiert libwww (Ausgangspunkt f¸r diverse Hackversuche)
RewriteCond %{HTTP_USER_AGENT} ^libwww [OR]

# Blockiert Skripte, die versuchen, base64 encodierten Unsinn via URL zu versenden
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]

# Blockiert Skripte, die einen a ********** Tag in der URL enthalten
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

# Blockiert Skripte, die versuchen, PHP GLOBALS Variablen via URL zu ver‰ndern
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

# Blockiert Skripte, die versuchen, eine _REQUEST Variable via URL zu ver‰ndern
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]

# END Optional Settings
in der config.php habe ich folgendes stehen:

Code: Select all

#------------
#URL Settings
#------------

#What type of URL rewriting should we be using for pretty URLs?  Valid options are:
#'none', 'internal', and 'mod_rewrite'.  'internal' will not work with IIS some CGI
#configurations. 'mod_rewrite' requires proper apache configuration, a valid
#.htaccess file and most likely {metadata} in your page templates.  For more
#information, see:
#http://wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs#Pretty_URL.27s
$config['url_rewriting'] = 'mod_rewrite';

#Extension to use if you're using mod_rewrite for pretty URLs.
$config['page_extension'] = '.htm';

#If you're using the internal pretty url mechanism or mod_rewrite, would you like to
#show urls in their hierarchy?  (ex. http://www.mysite.com/parent/parent/childpage)
$config['use_hierarchy'] = true;

#If using none of the above options, what should we be using for the query string
#variable?  (ex. http://www.mysite.com/index.php?page=somecontent)
$config['query_var'] = 'page';
[this message is written with 100% recycled bits]
Peter38
Forum Members
Forum Members
Posts: 79
Joined: Wed Oct 31, 2007 11:15 am

Re: pretty url bei version 1.6.3 funktioniert nicht

Post by Peter38 »

Erstmal danke nockenfell.

In meiner config.php steht das gleiche wie bei dir.

Aber leider funktioniert es auch mit deiner Version der htaccee Datei nicht. Es erscheint wieder der mir bekannte Serverfehler:
Serverfehler!

Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist. Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 500

Gruß
Peter
Peter38
Forum Members
Forum Members
Posts: 79
Joined: Wed Oct 31, 2007 11:15 am

Re: pretty url bei version 1.6.3 funktioniert nicht

Post by Peter38 »

Keiner von den Fachleuten hier eine Ahnung, wie ich die URL ohne index.php darstellen kann?

Schade.

Gruß
Peter
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm

Re: pretty url bei version 1.6.3 funktioniert nicht

Post by RonnyK »

Hasst du es schon versucht mit den .htaccess aus den DOCS-folder, wobei die da htaccess.txt heisst. Die kannst du umbenannen zum .htaccess und im haupt-ordner setzen. Danach soll die "mod_rewrite" aktiviert werden im config.php.

Ronny
cyberman

Re: pretty url bei version 1.6.3 funktioniert nicht

Post by cyberman »

In der aktuellen 1.6.4 gabs auch eine Fehlerkorrektur zum Thema PrettyURLs - evtl. hilft dir das weiter ...
Peter38
Forum Members
Forum Members
Posts: 79
Joined: Wed Oct 31, 2007 11:15 am

Re: pretty url bei version 1.6.3 funktioniert nicht

Post by Peter38 »

So, jetzt funktioniert das ganze. Es lag wohl doch an einer fehlenden bzw. fehlerfaften Einstellung meines Providers.

Vielen Dank an alle, die mir geholfen haben.

Gruß
Peter
Post Reply

Return to “Installation und Einstellungen”