|
|
|
| Есть кусочек кода, я его сам написал, но написал так криво и не читабельно, что мне самому его очень трудно читать/изменять. Может у кого-нибудь есть идеи, как можно переписать этот код более понятнее. Буду очень благодарен.
<?
include "inc/core_site.inc.php";
$host = explode(".", $_SERVER['HTTP_HOST']);
$url = explode("/", $_SERVER['REQUEST_URI']);
switch($host['0'])
{
case "www":
header("Location: ".$settings['url']);
break;
case $settings['domain']:
if($url['1'] == "community")
{
if(!empty($url['2']))
{
$the_page = intval(str_replace("/", "", str_replace("page_", "", $url['3'])));
$alias = $url['2'];
include "community/community.inc.php"; break;
}
else if(strstr($url['2'], "page_"))
{
$the_page = intval(str_replace("/", "", str_replace("page_", "", $url['2'])));
} else { $the_page = "0"; }
include "community/community_all.inc.php"; break;
}
else { include "index.inc.php"; }
break;
default:
$userlogin = $host['0'];
if($url['1'] == "blog" and !empty($url['2']) and !strstr($url['2'], "page_"))
{
$suburl = explode(".", $url['2']);
$newsid = intval($suburl['0']);
include "blog/blog_viewpost.php"; break;
}
else if($url['1'] == "blog")
{
if(strstr($url['2'], "page_"))
{
$the_page = intval(str_replace("/", "", str_replace("page_", "", $url['2'])));
} else { $the_page = "0"; }
include "blog/blog.php"; break;
} else { include BASE."people/userpage.inc.php"; }
}
?>
|
Этот код разбирает URL и взависимости от значений в URL инклудит нужный скрипт. | |
|
|
|
|
|
|
|
для: JIEXA
(07.08.2007 в 16:28)
| | имхо проще с нуля написать т.к. это writeonly code
http://www.domain.ru/index.php?pageID=community
http://www.domain.ru/index.php?pageID=community_blabla
http://www.domain.ru/index.php?pageID=blog
переписываем это через mod_rewrite, получается что то типа
http://www.domain.ru/community/
http://www.domain.ru/blog/
правила для mod_rewrite:
RewriteEngine on
RewriteBase /
RewriteRule ^community/$ index_.php?pageID=community
а в php коде уже разбираем этот pageID
<?php
if (isset($_GET['pageID'])) {
$pageID = $_GET['pageID'];
switch ($pageID) {
case 'community':
include($homepath . 'include/sub/community.php');
break;
case 'blog':
include($homepath . 'include/sub/blog.php');
break;
case '404':
header("HTTP/1.0 404 Not Found");
break;
default:
header("HTTP/1.0 404 Not Found");
break;
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Unreal
(07.08.2007 в 18:24)
| | Дело в том, что мне Trinux(программер nnm.ru) говорил, что лучше перенаправить .htaccess`ом все запросы на один файл и обрабатывать URL им. Так как при большой посещаемости(а она не маленькая) Mod Rewrite дает о себе знать. Или это бред? | |
|
|
|
|
|
|
|
для: JIEXA
(08.08.2007 в 02:11)
| | так что, идей не у кого нету? :( | |
|
|
|