2016-10-26 16 views
0

私はドメインとウェブページを持っています。私は動的なウェブサイトを作成しようとしています。完了しましたが、自分のサーバー上で自分のSEOに優しいソリューションをローカルサーバー上で構成することはできません。これは私のPHPコードです:.htaccess mod_rewriteを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'; 

これは私の.htaccessコードです:

<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> 

それは働きます!しかし、私は本当にこのコードが自分のサーバー上で動作するのか、私は何をすればよいのか分かりません。

私はすべてを試みました。私は自分のコードに変更しました。これは私の新しいコードです。

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

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

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

私のウェブページはサブディレクトリにないため、再書き込みの基本条件は問題ありません。 $base variableと同じです。か否か? は、私がこれに変更しようとした:

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

私はそれが私のサービスプロバイダに取り組んできていない、何か他のものに変更してみました。これはなぜですか? ありがとう!

+0

です。解決策が見つかりました。 $ host = "http://something.hu"; $ base = "/"; のみ/ !!!! このコードを使用すると、動作します! しかし、この間違った!!!! $ _GET ['aloldal'] =($ get)? array_shift($ get): '';いいえ! これは正しいです:$ _GET ['** services **'] =($ get)? array_shift($ get): '';この場合の ... –

答えて

0

RewriteBaseはスラッシュで終わり、$base変数と同じにする必要があります。サブディレクトリがない場合は、どちらもちょうど/

関連する問題