modrewrite - пускане и спиране?

nom3r1

Registered
Някой има ли готово кодче или идея как ще стане номера с пускането на mod_rewrite адресите? Както е в WordPress? Също така линка да мога да го направя както искам аз от админ панела?

дали ще си е:
site.com/product.php?id=1

или ще бъде

site.com/product/ID/Date
site.com/product/ID/Title_title_title
site.com/ID/title_title_title
site.com/Title_title_title

Да мога да пускам и изключвам функцията от админ панела? Предполагам ще трябва да има няк'ва връзка с MySQL-а, другото вече си е php+mod_rewrite?


Опитах с примерен код:
PHP:
<?php
function mod_rewrite($rewrite_request, $array_delim, $pair_delim){
global $_GET, $HTTP_GET_VARS, $_REQUEST;
$value_pairs = explode($array_delim, $rewrite_request);
$make_global = array();

	foreach($value_pairs as $pair){
		$pair = explode($pair_delim, $pair);
		$_GET[$pair[0]] = $pair[1];
		$_REQUEST[$pair[0]] = $pair[1];
		$HTTP_GET_VARS[$pair[0]] = $pair[1];
	}
}
if(isset($_GET['rewrite'])) {
	$rewrite = $_GET['rewrite'];
} else {
	$rewrite = "";
}
if($rewrite){
	$rewrite_request = $_GET['rewrite'];
	mod_rewrite($rewrite_request, '/', '-');
}
$id = $_GET['id'];
$name = $_GET['name'];
echo "$id | $name";
extract($_GET, EXTR_OVERWRITE);

//http://yoursite.com/index.php?rewrite=id-1/name-test
//http://yoursite.com/index/id-1/name-test.html
?>

Обаче бачка само

index.php?rewrite=id-1/name-test

ЕДИТ:
При добавяне на:
RewriteEngine On
RewriteRule ^index/(.*)\.html index.php?rewrite=$1

Всичко бачка така както искам. ОБАЧЕ, има ли вариант без .htaccess, а ако няма , тогава как да скалъпя кода да бъде с функция - пускане и спиране?

Да вкарам таблица с име: conf_date
id | name | value
1 | mod_rewrite | 0

и от нея да изкарам информацията и с IF да направя проверка; АКО mod_rewrite == 0 , то модула е изключен, ако modrewrite == 1, то модула е включен?

Другото, което е как да направя линка да бъде както искам при избиране в админ панел-a?

Код:
site.com/product/ID/Date
site.com/product/ID/Title_title_title
site.com/ID/title_title_title
site.com/Title_title_title
 
Сега си поиграх и го направих да се пуска и изключва модула. Ако някой има няк'ви други идеи как ще стане нека ги каже/за сега е само с променлива без DB изключването на модула/

PHP:
<?php
$mod_rewrite = 0;
function mod_rewrite($rewrite_request, $array_delim, $pair_delim){
global $_GET, $HTTP_GET_VARS, $_REQUEST;
$value_pairs = explode($array_delim, $rewrite_request);
$make_global = array();

	foreach($value_pairs as $pair){
		$pair = explode($pair_delim, $pair);
		$_GET[$pair[0]] = $pair[1];
		$_REQUEST[$pair[0]] = $pair[1];
		$HTTP_GET_VARS[$pair[0]] = $pair[1];
	}
}
	if(isset($_GET['rewrite'])) {
		$rewrite = $_GET['rewrite'];
	} else {
		$rewrite = "";
	}

	if($rewrite){
		if($mod_rewrite == 1) {
				$rewrite_request = $_GET['rewrite'];
				mod_rewrite($rewrite_request, '/', '-');
		} else {
			echo "модула е изключен използвай следната връзка: <br />
			<a href=\"#\">http://yoursite.com/index.php?index.php?id=ID&name=NAME</a>";
			exit;
		}
	}
if(isset($_GET['id'])) {
	$id = $_GET['id'];
} else {
	$id = "";
}
if(isset($_GET['name'])) {
	$name = $_GET['name'];
} else {
	$name = "";
}
echo "$id | $name";
extract($_GET, EXTR_OVERWRITE);

//http://yoursite.com/index.php?rewrite=id-1/name-test
//http://yoursite.com/index/id-1/name-test.html
//http://yoursite.com/index.php?index.php?id=1&name=test
?>


Замисъла на модула ми е да мога да управлявам линковете на новините ми. Ако искам линка да е:
index/id/1/name/test_test

или
index/id-1/name-test.html

да го правя през админ панела, а не да ръчкам по файловете.

Надявам се да ми схванахте идеята?
 
според мен трябва да пегледаш htaccess на wordpress и да намериш функцията, която спира и пуска тая опция, друг вариянт не виждам
 

Back
Горе