Hallo,
ich habe hier folgendes System, dass es mir ermöglicht für einzelne Bereiche der index.php andere Inhalte einblenden zu lassen:
[src=php]class Controller {
var $name;
var $dir;
function __construct($name, $dir = 'src') {
$this->name = $name;
$this->dir = $dir;
if(isset($_GET['page'])) {
if(file_exists($this->dir.'/'.$_GET['page'].'_'.$this->name.'.php')) {
require($this->dir.'/'.$_GET['page'].'_'.$this->name.'.php');
}
else {
require($this->dir.'/'.$this->name.'.php');
}
}
else {
require($this->dir.'/'.$this->name.'.php');
}
}
}[/src]
Aufgerufen wird dann im Template folgendermaßen:
[src=php]<?php $content = new Controller('content'); ?>[/src]
Die Datei die dann eingefügt wird, heiß dann seitenname_content.php
Folgendes funktioniert: Aufruf der Seiten via href="index.php?page=seitenname"
Ich wollte aber, dass statt dem href einfach nur der Seitenname dasteht also: href="seitenname"
Dazu folgende .htaccess:
[src=apache]RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/+(admin|images)/?
RewriteCond %{REQUEST_URI} !(\..{2,4})$
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)$ index.php?page=$1&%1 [L][/src]
Das funktioniert nur leider nicht. Aufruf der "index.php" erfolgt immer in ein 404-Fehler und der Aufruf anderer Seiten funktioniert zwar, aber es wird immer der Inhalt der standard content.php geladen, statt der seitenname_content.php.
Ich dachte erst, dass es an 1und1 liegt, weshalb ich extra eine Subdomain angelegt habe, die direkt in das Verzeichnis routet, in der mein Projekt liegt.. doch auch damit funktioniert es nicht. Weiß jemand Rat?
ich habe hier folgendes System, dass es mir ermöglicht für einzelne Bereiche der index.php andere Inhalte einblenden zu lassen:
[src=php]class Controller {
var $name;
var $dir;
function __construct($name, $dir = 'src') {
$this->name = $name;
$this->dir = $dir;
if(isset($_GET['page'])) {
if(file_exists($this->dir.'/'.$_GET['page'].'_'.$this->name.'.php')) {
require($this->dir.'/'.$_GET['page'].'_'.$this->name.'.php');
}
else {
require($this->dir.'/'.$this->name.'.php');
}
}
else {
require($this->dir.'/'.$this->name.'.php');
}
}
}[/src]
Aufgerufen wird dann im Template folgendermaßen:
[src=php]<?php $content = new Controller('content'); ?>[/src]
Die Datei die dann eingefügt wird, heiß dann seitenname_content.php
Folgendes funktioniert: Aufruf der Seiten via href="index.php?page=seitenname"
Ich wollte aber, dass statt dem href einfach nur der Seitenname dasteht also: href="seitenname"
Dazu folgende .htaccess:
[src=apache]RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/+(admin|images)/?
RewriteCond %{REQUEST_URI} !(\..{2,4})$
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)$ index.php?page=$1&%1 [L][/src]
Das funktioniert nur leider nicht. Aufruf der "index.php" erfolgt immer in ein 404-Fehler und der Aufruf anderer Seiten funktioniert zwar, aber es wird immer der Inhalt der standard content.php geladen, statt der seitenname_content.php.
Ich dachte erst, dass es an 1und1 liegt, weshalb ich extra eine Subdomain angelegt habe, die direkt in das Verzeichnis routet, in der mein Projekt liegt.. doch auch damit funktioniert es nicht. Weiß jemand Rat?