Pretty URL: Link ohne "index.php" erzeugen

Deutschsprachiger Support für CMS Made Simple
m266

Pretty URL: Link ohne "index.php" erzeugen

Post by m266 »

Hallo,
bei einigen Providern ist mod_rewrite nicht möglich, so dass ich Pretty URL nutzen muss.

Mich stört im Link der Teil "index.php". Lässt sich das irgendwie unterdrücken?
NaN

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by NaN »

m266 wrote: ...
so dass ich Pretty URL nutzen muss.
...
Also Du musst überhaupt nichts  ;)

m266 wrote:
Mich stört im Link der Teil "index.php". Lässt sich das irgendwie unterdrücken?
Kurz: Nein.

Ohne die index.php kann das CMS nicht ausgeführt werden.
Und damit die index.php ausgeführt wird, muss entweder Dein Browser direkt auf diese index.php inklusive Variablen etc. verweisen, oder der Webserver mit Hilfe von mod_rewrite die angeforderte URL nach einem bestimmten Schema umschreiben.
Am Ende wird da auf dem Server auch nichts weiter als "index.php?page=angeforderte Seite" ausgeführt.
Jim_Bob
Forum Members
Forum Members
Posts: 33
Joined: Mon Jun 02, 2008 8:14 am

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by Jim_Bob »

Hallo,

um nochmal die Fragestellung von dem obigen Threataufmacher aufzugreifen.
Kann man die index.php z.B. in der URL
"http://www.domain.de/index.php/de_DE/templates.html " definitiv nicht per
mod_rewrite Anweisung "wegretuschieren"?

Gruß
Jimbob
NaN

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by NaN »

Mit mod_rewrite ist das natürlich möglich.
Aber bei m299 wird vom Provider mod_rewrite eben nicht ermöglicht, so dass er nur die internal pretty URLs verwenden kann.
Jim_Bob
Forum Members
Forum Members
Posts: 33
Joined: Mon Jun 02, 2008 8:14 am

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by Jim_Bob »

Hallo Nan,

vielen Dank für Deine Antwort.
Hättest Du einen Denkanstoss bzgl. der mod_rewrite Anweisung für mich?
Ich habe Serverzugriiff und kann die http.conf editieren.

Gruß
Jimbob
m266

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by m266 »

Hier ein Auszug aus meiner Doku zu deiner Frage:

Mod_rewrite nutzen (Empfehlung)
In der Datei „.htaccess“ folgende Einträge zufügen (Die Datei muss sich im Root des CMS befinden; ggf. vorher anlegen):

#Options +FollowSymLinks
RewriteEngine on

# 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 [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+)$ index.php?page=$1 [QSA]

In der Datei „config.php“ folgendes ändern:

#Show mod_rewrite URLs in the menu?
$config['assume_mod_rewrite'] = true;

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

Falls früher Pretty URL verwendet wurden, diesen Eintrag auf „false“ zu setzen:

$config['internal_pretty_urls'] = false;

Rechte für die Dateien zurücksetzen:
.htaccess: 644
config.php: 444

Wenn dein Provider mode_rewrite erlaubt, funktioniert es damit einwandfrei.


Gruß m266
Jim_Bob
Forum Members
Forum Members
Posts: 33
Joined: Mon Jun 02, 2008 8:14 am

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by Jim_Bob »

Hallo m266,

vielen Dank für Deine Hilfestellung.
Sorry, ich vergaß zu erwähnen, das ich eine MLE (Multilanguage) Version nutze.
Mit Deinen Einstellungen klappt soweit alles, nur bleibe ich leider bei einer Sprache
"hängen", d.h. ich kann die anderen Sprachen nicht ansurfen.

Eventl. noch eine Idee dazu?

Gruß
m266

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by m266 »

Poste mal einen Link, dann können dir sicher NaN oder cyberman helfen.
Jim_Bob
Forum Members
Forum Members
Posts: 33
Joined: Mon Jun 02, 2008 8:14 am

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by Jim_Bob »

Klar, mache ich gerne.
Was macht Sinn zum drauf gucken - das cms mit den "Ureinstellungen", dh. ohne modrewrite Einstellungen oder mit dem Ergebnis Deines Vorschlages?

Gruß
m266

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by m266 »

mode_rewrite geht ja bei dir (außer MLE). Daher wäre m. E. die Variante mit mode_rewrite besser.
Ich bin auch kein Experte, aber NaN oder cyberman wissen sicher, woran es liegt, dass die MLE-Sache nicht geht.
Jim_Bob
Forum Members
Forum Members
Posts: 33
Joined: Mon Jun 02, 2008 8:14 am

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by Jim_Bob »

Ok, hier die Website:

Problem: Ich kann nach den letztgenannten Einstellungen nicht mehr zwischen den Sprachen switchen.
Ich bleibe auf FR "hängen".

Ich hoffe Ihr könnt helfen.
Danke schonmal im voraus.

gruß
Last edited by Jim_Bob on Thu Aug 14, 2008 6:29 am, edited 1 time in total.
NaN

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by NaN »

m266 wrote: Poste mal einen Link, dann können dir sicher NaN oder cyberman helfen.
Ich glaube bei der MLE Version wäre Alby der bessere Ansprechpartner.
Jim_Bob wrote:
Problem: Ich kann nach den letztgenannten Einstellungen nicht mehr zwischen den Sprachen switchen.
Ich bleibe auf FR "hängen".
Hast Du zwischenzeitlich noch etwas geändert?
War gerade auf der Seite und das Umstellen der Sprachen scheint zu funktoinieren.
Jim_Bob
Forum Members
Forum Members
Posts: 33
Joined: Mon Jun 02, 2008 8:14 am

GELÖST: Pretty URL: Link ohne "index.php" erzeugen

Post by Jim_Bob »

Ja, stimmt, die Lösung ist da.
Vielen Dank für Deine Hilfe.

Folgender Eintrag in der .htaccess hat es gerichtet.

Die Anweisung
RewriteRule ^(.+)$ index.php?page=$1 [QSA]to
ändern zu
RewriteRule ^(.+)/(.+)$ index.php?hl=$1&page=$2 [QSA]

und in der config.php folgende Einstellungen vornehmen:
$config['assume_mod_rewrite'] = true;
$config['page_extension'] = '.html';
$config['internal_pretty_urls'] = true;
$config['use_hierarchy'] = false;

Leider muss man use_hierarchy auf false setzen, weil man sonst
beim ansurfen der Unterseiten wieder Probleme beim "switchen"
zu einer anderen Sprache hat.

gruß Jimbob
NaN

Re: GELÖST: Pretty URL: Link ohne "index.php" erzeugen

Post by NaN »

Jim_Bob wrote:
Leider muss man use_hierarchy auf false setzen, weil man sonst
beim ansurfen der Unterseiten wieder Probleme beim "switchen"
zu einer anderen Sprache hat.
Das ist schade, weil dann die pretty URLs bei Modulen nicht funktionieren (z.B. NewsModule).
Keinen_Plan
New Member
New Member
Posts: 3
Joined: Mon Feb 02, 2009 4:16 pm

Re: Pretty URL: Link ohne "index.php" erzeugen

Post by Keinen_Plan »

Geht nicht!  :-[

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 ^(.*) %{REQUEST_URI}/ [R=301,L]

# Add www.
RewriteCond %{http_host} ^meins\.net [NC]
RewriteRule ^(.*) http://www.meins.net/$1 [R=301,L,NC]

# Remove SubDirectory + exception
RewriteRule ^$ /cms/ [QSA,L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule !^(mediawiki)(/.*)?$ /cms%{REQUEST_URI} [QSA,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 ^(.+)$ index.php?page=$1 [QSA]
Wenn ich "RewriteBase /" auf "RewriteBase /cms/" setze und die Weiterleitungen nach /cms/ wegmache, funktioniert es. Habe aber keine Lust auf Unterverzeichnis. Hat jemand eine Idee?

PS: Meins.net ist natürlich nicht meine reale Domain-Bezeichnung.
Last edited by Keinen_Plan on Mon Feb 02, 2009 6:15 pm, edited 1 time in total.
Post Reply

Return to “German - Deutsch”