![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
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] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 01:33 |