

RewriteEngine On
RewriteBase /re-rewting/
RewriteCond %{QUERY_STRING} ^([a-zA-Z0-9]+=[a-zA-Z0-9]+)&([a-zA-Z0-9]+=[a-zA-Z0-9]+)&([a-zA-Z0-9]+=[a-zA-Z0-9]+)$
RewriteRule ^([^(index)][a-zA-Z0-9-_/.]+\.php)$ index.php?page=$1-__-%1-___-%2-___-%3 [L]
RewriteCond %{QUERY_STRING} ^([a-zA-Z0-9]+=[a-zA-Z0-9]+)&([a-zA-Z0-9]+=[a-zA-Z0-9]+)$
RewriteRule ^([^(index)][a-zA-Z0-9-_/.]+\.php)$ index.php?page=$1-__-%1-___-%2 [L]
RewriteCond %{QUERY_STRING} ^([a-zA-Z0-9]+=[a-zA-Z0-9]+)$
RewriteRule ^([^(index)][a-zA-Z0-9-_/.]+\.php)$ index.php?page=$1+-+%{QUERY_STRING} [L]
RewriteRule ^([^(index)][a-zA-Z0-9-_/.]+\.php)$ index.php?page=$1 [L]
RewriteCond %{REQUEST_URI} [^/]$
RewriteRule ^([^.]+)$ $1/ [R=301,L]
RewriteRule ^([^.]+)/$ /re-rewting/index.php?page=$1 [L]<?php
ob_start();
require_once("database_connect.php");
function error_404($message="")
{
header("HTTP/1.0 404 Not Found");
echo $message;
include('404.shtml');
exit;
}
function is_available($page, $dbc)
{
$page = mysqli_real_escape_string($dbc, $page); //mini zabezpieczenie
$parentCategoryId = 0; //id kategori nadrzędnej
if ((strpos($page, ".htm") == false) && (strpos($page, ".html") == false) && (strpos($page, ".php") == false)) //jezeli kategoria
{
$categoriesAndPages = explode("/", $page); //rozbicie na kategorie
for ($i = 0; $i < count($categoriesAndPages); $i++)
{
$q = "SELECT id FROM categories WHERE category_name = '".$categoriesAndPages[$i]."' AND parent_category_id = ".$parentCategoryId;
$category = mysqli_query($dbc, $q);
if (mysqli_num_rows($category))
{
$category = mysqli_fetch_assoc($category);
$parentCategoryId = $category['id'];
if (count($categoriesAndPages) == ($i + 1))
{
$category = mysqli_query($dbc, "SELECT category_URL FROM categories WHERE category_name = '".$categoriesAndPages[$i]."' ") or die (mysql_error());
$category = mysqli_fetch_assoc($category);
if (strpos($category['category_URL'], "?"))
{
$url = explode("?", $category['category_URL']);
$get_vars = explode("&", $url[1]);
for ($i= 0; $i < count($get_vars); $i++)
{
$get_var = explode("=", $get_vars[$i]);
$_GET[$get_var[0]] = $get_var[1];
}
include $url[0];
exit();
}
else
{
include $category['category_URL'];
exit();
}
}
}
else
error_404();
}
}
else //w innym wypadku "plik .htm/.html/.php"
{
$page = str_replace("-__-", "?", $page);
$page = str_replace("-___-", "&", $page);
$q = "SELECT category_name, parent_category_id FROM categories WHERE category_URL = '".$page."'";
//echo $q . '<br />';
$category = mysqli_query($dbc, $q);
if(mysqli_num_rows($category) == 1)
{
$category = mysqli_fetch_assoc($category);
$parentCategoryId = $category['parent_category_id'];
if($parentCategoryId == 0)
{
header("location: /re-rewting/" . $category['category_name'] . "/");
}
else
{
$categoriesName = $category['category_name']; //przechowuje nowy url z nazwami kategorii np. "/gry/Kolko-krzyzyk/"
for ($i = 0;;$i++)
{
$q = "SELECT category_name, parent_category_id FROM categories WHERE id = ".$parentCategoryId;
$category = mysqli_query($dbc, $q);
if(mysqli_num_rows($category) == 1)
{
$category = mysqli_fetch_assoc($category);
$categoriesName = $category['category_name'] . "/" . $categoriesName;
$parentCategoryId = $category['parent_category_id'];
if($category['parent_category_id'] == 0)
break;
}
else
error_404();
}
header("location: /re-rewting/" . $categoriesName) . "/";
}
}
else
{
if (strpos($page, "?"))
{
$url = explode("?", $page);
$get_vars = explode("&", $url[1]);
for ($i= 0; $i < count($get_vars); $i++)
{
$get_var = explode("=", $get_vars[$i]);
$_GET[$get_var[0]] = $get_var[1];
}
include $url[0];
exit();
}
else
{
include $page;
exit();
}
error_404();
}
}
}
if (isset($_GET['page']))
{
$page = $_GET['page'];
echo $_GET['page'];
if(!empty($page))
{
is_available($page, $dbc);
}
}
else
{
include "poczatek.html";
exit;
}
ob_flush();
?>

RewriteCond %{QUERY_STRING} ^([a-zA-Z0-9]+=[a-zA-Z0-9]+)$
RewriteRule ^([^(index)][a-zA-Z0-9-_/.]+\.php)$ index.php?page=$1+-+%{QUERY_STRING} [R=301,L]
Header( "HTTP/1.1 301 Moved Permanently" ); 

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość