Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Linki via ForceType vs. klasyczne.
scanner
post
Post #1





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




No i mam dylemat.
Udało mi się w prosty w sumie sposób dzięki .htaccess i ForceType uzyskać url'ew stylu:
Cytat

gdzie go, to plik php którego dotyczy właśnie ForceType a news/page/3 to oczywista parametry (umieszczone w $_SERVER['PATH_INFO'])
W tym jednak momencie musże uwzględnić fakt, że nie zawsze może byc możliwość użycia .htaccess i trzeba będzie stosować zwykłe linki.
Cytat


Najprostrzym rozwiązaniem byłoby po prostu zapisanie w konfiguracji np. [php:1:fe81bd4028]<?php
$arrConfig['UseNiceUrls'] = (true|false};
?>[/php:1:fe81bd4028]

Tutaj jednak rodzi się problem. Jeśłi nie będzie można wykorzystać ForceType, trzeba będzie zamienić plik startowy na go.php i podmienić moduł odpowiedzialny za generowanie i parsowanie linków.

I teraz temat do dyskusji - w jaki sposób skrypt mógłby rozpoznać, czy można używac ForceType, zakładając, że plik .htacces istnieje, tylko nie jest analizowany.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Skłądając wszystkie Wasze myśli do kupy, wywłodziłem (łącznie z kodem Setha), coś takiego (.htacces- jak wyżej). Co o tym myslicie teraz? (sorki za wklejenie kodu Setha w całości, ale nie chciałm ciąc żeby się nic nie zgubiło)[php:1:dbccdd269d]<?php
/**
* Sprawdzanie, czy jest mozliwe uzycie NiceUrl's
* @package Oberon
* @author seth@php.pl
* @file index.php
*/
session_start();

$host = $_SERVER['SERVER_NAME'];
$adress = '/Oberon/go/test';
$port = 80;

$errmsg = null;
$errno = null;

$chndr = fsockopen( $host, $port, $errno, $errmsg, 3 );

if ( $chndr == false )
{
die('<b>Fatal error:</b> ('.$errno.') '.$errmsg.'<br />');
}
else
{
fputs( $chndr, 'GET '.$adress." HTTP/1.0rn" );
fputs( $chndr, "Host: $hostrn" );
fputs( $chndr, "Referer: http://$host/rn" );
fputs( $chndr, "Content-type: application/x-www-form-urlencodedrn" );
fputs( $chndr, "Connection: closernrn" );

$end_headers = false;
$content = '';

while ( !feof( $chndr ) )
{
$line = fgets( $chndr, 1024 );

if ( $end_headers )
{
$content .= $line;
}

if ( $end_headers === false && ( $line == "rn" || $line == "n" ) )
{
$end_headers = true;
}
}

if ( trim( $content ) == '1' )
{
$_SESSION['UseNiceUrls'] = true;
header('Location: go');
}
else
{
$_SESSION['UseNiceUrls'] = false;
require_once('engine.php');
}
}
?>[/php:1:dbccdd269d][php:1:dbccdd269d]<?php
/**
* @package Oberon
* @author scanner@php.pl
* @file index.php
*/
session_start();
if(isset($_SERVER['PATH_INFO']) && ($_SERVER['PATH_INFO'] == '/test'))
{
die(true);
}
else
{
require_once('engine.php');
}
?>[/php:1:dbccdd269d][php:1:dbccdd269d]<?php
/**
* @package Oberon
* @author scanner@php.pl
* @file engine.php
*/
if(!isset($_SESSION))
{
session_start();
}
var_dump($_SESSION);
?>[/php:1:dbccdd269d]
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 01:33