[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Rewrite
tar
Как переписать Rewrite, что бы ссылка вместо
sait/products/ выглядела :
sait/products?lang=ru и sait/products?lang=ua

CMS SMARTY version 2.6.14

.htaccess
RewriteEngine on

RewriteRule ^/?$ /web/index.php?cmd=homepage [NC]
RewriteRule ^products/?$ /web/index.php?cmd=products [NC]
RewriteRule ^products/([0-9]+)/?$ /web/index.php?cmd=products&category_id=$1 [NC]
RewriteRule ^products/([0-9]+)/([0-9]+)/?$ /web/index.php?cmd=products&category_id=$1&item_id=$2 [NC]
RewriteRule ^prices/?$ /web/index.php?cmd=prices [NC]
RewriteRule ^document/?$ /web/index.php?cmd=document [NC]
RewriteRule ^contacts/?$ /web/index.php?cmd=contacts [NC]


index.php находится в папке web
Управление языками в index.php
......................

//lenguage logic
$siteLanguage = isset($_POST["siteLanguage"]) ? addslashes($_POST["siteLanguage"]) : "";
switch($siteLanguage)
{
case "ua":
$_SESSION["SITE_LANGUAGE"] = "ua";
break;
case "ru":
$_SESSION["SITE_LANGUAGE"] = "ru";
break;
}

$_SESSION["SITE_LANGUAGE"] = (isset($_SESSION["SITE_LANGUAGE"])) ? $_SESSION["SITE_LANGUAGE"] : $WEB_APP_CONFIG["SITE_LANGUAGE"];
$cmdToLoad = text_var("cmd");

include_once($_SERVER['DOCUMENT_ROOT'] . "/includes/lang.php");

.......................



Спустя 12 минут, 43 секунды (24.03.2012 - 09:47) Visman написал(а):
Цитата
sait/products?lang=ru и sait/products?lang=ua

Это передача параметра через GET запрос.
А управление языками у тебя работает через отправку POST запроса.

Переписка реврайта не поможет.

Спустя 18 минут, 4 секунды (24.03.2012 - 10:05) tar написал(а):
Спасибо, если я перепишу управление в GET - то дальше как ?

Спустя 39 минут, 28 секунд (24.03.2012 - 10:44) tar написал(а):
Переписал в GET
Урлы работают и выглядят так:
sait/products/?lang=ru и sait/products/?lang=ua

Осталось убрать "/" что бы было:
sait/products?lang=ru и sait/products?lang=ua

Помогите, пожалуйста !

Спустя 10 минут, 25 секунд (24.03.2012 - 10:54) Visman написал(а):
Цитата (tar @ 24.03.2012 - 15:44)
Осталось убрать "/" что бы было:

Так этой у тебя к коде php формируется, наверное.
Функция построения урла наверное сделана самописная, смотри в нее.

Спустя 13 минут, 21 секунда (24.03.2012 - 11:08) tar написал(а):
Даже не знаю - не я писал.
Может это:
		function displayTemplate($params)
{
$params["cmd"] = $GLOBALS["cmdToLoad"];
$GLOBALS["smartyEngine"]->assign("parameters", $params);
$GLOBALS["smartyEngine"]->display($params["cmd"] . ".tpl");
}

/** processes request and loads appropriate command based on the definition */
function process_request()
{
$cmdToLoad = $GLOBALS["cmdToLoad"];
db_open();

$cmdToLoad = strtolower(urldecode($cmdToLoad));
if (trim($cmdToLoad) == '')
{
$cmdToLoad = "homepage";
$GLOBALS["cmdToLoad"] = $cmdToLoad;
}

$cmdToLoadFile = $_SERVER['DOCUMENT_ROOT'] . "/web/commands/" . $cmdToLoad . ".php";
$cmdToLoadClass = str_replace(" ", "", ucwords(str_replace("_", " ", $cmdToLoad)));

if (file_exists($cmdToLoadFile))
{
//include command file
include_once($cmdToLoadFile);
//create new instance of the class
if (class_exists($cmdToLoadClass))
{
$tmpInstance = & new $cmdToLoadClass;
//execute the command
$res = $tmpInstance->execute();
unset($tmpInstance);
return $res;
} else
{
echo ("<h1>Помилка: Class '" . $cmdToLoadClass . "' не знайдено.</h1>");
exit;
}
}
else
{
echo ("<h1>Помилка: не вдається виконати '" . $cmdToLoad . "'.</h1>");
}

if(db_is_connected()) db_close();
}// end function process_request

/** redirects */
function redirect($loc)
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: $loc");
exit;
}// end function redirect

Спустя 6 часов, 58 минут, 40 секунд (24.03.2012 - 18:07) tar написал(а):
Все сделал сам.

Только одна страница prices упорно выдает: site/prices/?cmd=prices
вместо: site/prices?lang=ua или site/prices?lang=ru


Может кто что-то знает.

Спустя 2 часа, 54 секунды (24.03.2012 - 20:07) tar написал(а):
Спасибо
Нашел сам - site/prices/?cmd=prices (одноименная папка - prices)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.