2016-10-26 4 views
0

Ich habe eine Domain und eine Webseite. Ich habe versucht, eine dynamische Website zu erstellen. Es ist fertig, aber ich kann meine SEO-freundlichen Lösungen nicht auf meinem Server konfigurieren, nur auf meinem lokalen Server. Das ist mein PHP-Code:Wie kann ich die .htaccess mod_rewrite nicht auf localhost?

$host = ''; 
$base = '/something/'; 
$baselength = strlen($base); 
$url = substr($_SERVER['REQUEST_URI'],$baselength); 

$url = array_merge(array('path'=>''),parse_url($url)); 

$get = explode('/',$url['path']); 
$_GET['oldalak'] = ($get) ? array_shift($get) : ''; 
$_GET['aloldal'] = ($get) ? array_shift($get) : ''; 

$oldal = isset($_GET['pages']) ? $_GET['pages'] : ''; 
$oldal = 'pages/'.basename($oldal).'.php'; 
$oldal = (file_exists($oldal)) ? $oldal : 'pages/kezdolap.php'; 

$aloldal = isset($_GET['services']) ? $_GET['services'] : ''; 
$aloldal = 'pages/services/'.basename($aloldal).'.php'; 

Das ist mein .htaccess-Code:

<IfModule mod_rewrite.c> 

RewriteEngine On 

RewriteBase /something 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^([^/]+)(/([^/]+))? index.php?pages=$1&services=$3&%{QUERY_STRING} 
</IfModule> 

Es funktioniert! Aber ich weiß wirklich nicht, was ich tun kann, dass dieser Code auf meinem Server funktioniert.

Ich habe alles versucht. Ich habe meinen Code geändert. Das ist mein neuer Code.

Meine Webseite befindet sich nicht in einem Unterverzeichnis, daher sind die Grundbedingungen neu zu schreiben. Dasselbe wie mit der $base variable. Oder nicht? Ich habe versucht, dies zu ändern:

$host = 'http://something.hu'; 
$base = 'http://something.hu'; 

ich auf etwas anderes zu ändern versucht, es war nicht auf meinem Service-Provider tätig. Warum ist das der Fall? Danke!

+0

sein Okay, ich finde die Lösung. $ host = "http://irgendwas.hu"; $ base = "/"; nur/!!!! Verwenden Sie diesen Code, es wird funktionieren! Aber das ist falsch !!!! $ _GET ['aloldal'] = ($ get)? array_shift ($ get): ''; Nein!!! das ist das richtige: $ _GET ['** services **'] = ($ get)? array_shift ($ get): ''; in diesem Fall ... –

Antwort

0

Ihre RewriteBase sollte in einem Schrägstrich enden und identisch mit Ihrer $base Variable sein. Für kein Unterverzeichnis sollten sie beide nur /

Verwandte Themen