Araştırmanız gereken konu "Route".
Ama .htaccess kullanımı olmadan yapamazsınız onu belirtmeliyim.
Sizin yaptığınız muhtemelen şöyle birşey;
.htaccess
RewriteEngine on
RewriteRule ^hakkimizda$ index.php?page=hakkimizda
RewriteRule ^profil/([_A-Za-z0-9-]+)$ index.php?page=profil&permalink=$1
index.php
<?php
switch($_GET['page'])
{
case 'hakkimizda';
include('hakkimizda.php');
break;
....
}
Daha esnek kullanımla Route yapısına bir örnek hazırladım geliştirmek sizin elinizde. Dil için bazı yönergeler ekledim.
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
index.php
<?php
class Route
{
public static function parse_url()
{
$request_uri = $_SERVER['REQUEST_URI'];
$request_uri = trim($request_uri,'/');
$params = explode('/',$request_uri);
return $params;
}
public static function language_detect()
{
return @$_SESSION['lang'];
}
public static function add_param($match,$include,$lang='all',$_request_method='all')
{
$params = self::parse_url();
$language = self::language_detect();
$request_method = strtolower($_SERVER['REQUEST_METHOD']); // GET,POST v.b
// preg_match da kullanılabilir dediğim gibi geliştirmek sizin elinizde
if($params[0]==$match)
{
if(($_request_method==$request_method or $_request_method=='all') and ($lang==$language or $lang=='all'))
{
include($include);
}
}
}
}
// Dilin sessionda tutulduğunu varsayıyorum.
Route::add_param('hakkimizda','hakkimizda.php','tr');
Route::add_param('hakkimizda','hakkimizda.php','en');
Route::add_param('urunler','urunler.php','tr');
?>