// visit the currently active page $page = ($lang)? $site->visit($path, $lang) : $site->visit($path); // redirections for files and invalid representations if($site->representation !== null) { // get the filename $filename = rawurldecode(basename($path)); $pagepath = dirname($path); // check if there's a page for the parent path if($parent = $site->find($pagepath)) { // check if there's a file for the last element of the path if($file = $parent->file($filename)) { return go($file->url()); } } // prevent invalid representation routes if($site->representation === '' || $site->representation != $page->representation()) { return $site->errorPage(); } } return $page; }; // tinyurl handling $routes['tinyurl'] = $this->component('tinyurl')->route(); // home redirect $routes['homeRedirect'] = array( 'pattern' => $this->options['home'] . '(\..*)?', 'action' => function($extension = null) { // ignore invalid extensions if($extension === '.') $extension = ''; redirect::send(url::build([
/** * Facepalm typo alias * @see csrf() */ function csfr() { return call('csrf', func_get_args()); } /** * Shortcut for call_user_func_array with a better handling of arguments * * @param mixed $function * @param mixed $arguments * @return mixed */ function call($function, $arguments = array()) { if(!is_callable($function)) return false; if(!is_array($arguments)) $arguments = array($arguments); return call_user_func_array($function, $arguments); } /** * Parses yaml structured text * * @param $string * @return array */ function yaml($string) { return yaml::decode($string); } /** * Simple email sender helper * * @param array $params * @return Email */ function email($params = array()) { return new Email($params);
// load all plugins $this->plugins(); // start the router $this->router = new Router($this->routes()); $this->route = $this->router->run(trim($this->path(), '/')); // check for a valid route if(is_null($this->route)) { header::status('500'); header::type('json'); die(json_encode(array( 'status' => 'error', 'message' => 'Invalid route or request method' ))); } // call the router action with all arguments from the pattern $response = call($this->route->action(), $this->route->arguments()); // load all language variables // this can only be loaded once the router action has been called // otherwise the current language is not yet available $this->localize(); // build the response $this->response = $this->component('response')->make($response); // store the current language in the session if( $this->option('language.detect') && $this->site()->multilang() && $this->site()->language() ) { s::set('kirby_language', $this->site()->language()->code()); } return $this->response;
<?php define('DS', DIRECTORY_SEPARATOR); // load kirby require(__DIR__ . DS . 'kirby' . DS . 'bootstrap.php'); // check for a custom site.php if(file_exists(__DIR__ . DS . 'site.php')) { require(__DIR__ . DS . 'site.php'); } else { $kirby = kirby(); } // render echo $kirby->launch();
Key | Value |
Kirby Toolkit | v2.5.14 |
Kirby CMS | v2.5.14 |
Key | Value |
PHP_FCGI_CHILDREN | 0 |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
SHLVL | 0 |
PHP_FCGI_MAX_REQUESTS | 1000 |
ORIG_SCRIPT_NAME | /14af156b89d84504c26e7114fa839789/php7.4-fcgi-wrapper |
ORIG_PATH_TRANSLATED | /var/www/web1476/html/data/2018/index.php |
ORIG_PATH_INFO | /index.php |
ORIG_SCRIPT_FILENAME | /var/www/php-starter/web1476/php7.4-fcgi-wrapper |
CONTENT_LENGTH | 0 |
HTTP_CONNECTION | close |
SCRIPT_NAME | /index.php |
REQUEST_URI | /images/referenzen/2016_04_kreis_alpirsbach/Rmlinsdorf3.JPG |
QUERY_STRING | |
REQUEST_METHOD | GET |
SERVER_PROTOCOL | HTTP/1.1 |
GATEWAY_INTERFACE | CGI/1.1 |
REDIRECT_URL | /index.php |
REMOTE_PORT | 45474 |
SCRIPT_FILENAME | /var/www/web1476/html/data/2018/index.php |
SERVER_ADMIN | [no address given] |
CONTEXT_DOCUMENT_ROOT | /var/www/php-starter/web1476/ |
CONTEXT_PREFIX | /14af156b89d84504c26e7114fa839789/ |
REQUEST_SCHEME | https |
DOCUMENT_ROOT | /var/www/web1476/html/data/2018 |
REMOTE_ADDR | 34.239.185.22 |
SERVER_PORT | 443 |
SERVER_ADDR | 109.237.130.155 |
SERVER_NAME | www.lizergy.com |
SERVER_SOFTWARE | Apache |
SERVER_SIGNATURE | <address>Apache Server at www.lizergy.com Port 443</address> |
HTTP_HOST | www.lizergy.com |
HTTP_REFERER | http://www.lizergy.com/images/referenzen/2016_04_kreis_alpirsbach/Rmlinsdorf3.JPG |
HTTP_USER_AGENT | claudebot |
HTTP_ACCEPT | */* |
SSL_TLS_SNI | www.lizergy.com |
HTTPS | on |
MAGICK_THREAD_LIMIT | 1 |
OMP_NUM_THREADS | 1 |
UNIQUE_ID | ZgbeFn8AAQEALE6u1sAAAAAD |
REDIRECT_STATUS | 200 |
REDIRECT_HANDLER | x-httpd-php7.4 |
REDIRECT_SSL_SESSION_RESUMED | Initial |
REDIRECT_SSL_SERVER_A_SIG | sha256WithRSAEncryption |
REDIRECT_SSL_SERVER_A_KEY | rsaEncryption |
REDIRECT_SSL_SERVER_I_DN | CN=Sectigo RSA Domain Validation Secure Server CA,O=Sectigo Limited,L=Salford,ST=Greater Manchester,C=GB |
REDIRECT_SSL_SERVER_S_DN | CN=www.lizergy.com |
REDIRECT_SSL_SERVER_V_END | Nov 7 23:59:59 2024 GMT |
REDIRECT_SSL_SERVER_V_START | Oct 9 00:00:00 2023 GMT |
REDIRECT_SSL_SERVER_M_SERIAL | E508417F1DC32BF856A8AD3B484B9B31 |
REDIRECT_SSL_SERVER_M_VERSION | 3 |
REDIRECT_SSL_CLIENT_VERIFY | NONE |
REDIRECT_SSL_CIPHER_ALGKEYSIZE | 256 |
REDIRECT_SSL_CIPHER_USEKEYSIZE | 256 |
REDIRECT_SSL_CIPHER_EXPORT | false |
REDIRECT_SSL_CIPHER | ECDHE-RSA-AES256-GCM-SHA384 |
REDIRECT_SSL_COMPRESS_METHOD | NULL |
REDIRECT_SSL_SECURE_RENEG | true |
REDIRECT_SSL_PROTOCOL | TLSv1.2 |
REDIRECT_SSL_VERSION_LIBRARY | OpenSSL/1.0.2l |
REDIRECT_SSL_VERSION_INTERFACE | mod_ssl/2.4.10 |
REDIRECT_SSL_SERVER_I_DN_CN | Sectigo RSA Domain Validation Secure Server CA |
REDIRECT_SSL_SERVER_I_DN_O | Sectigo Limited |
REDIRECT_SSL_SERVER_I_DN_L | Salford |
REDIRECT_SSL_SERVER_I_DN_ST | Greater Manchester |
REDIRECT_SSL_SERVER_I_DN_C | GB |
REDIRECT_SSL_SERVER_S_DN_CN | www.lizergy.com |
REDIRECT_SSL_TLS_SNI | www.lizergy.com |
REDIRECT_HTTPS | on |
REDIRECT_MAGICK_THREAD_LIMIT | 1 |
REDIRECT_OMP_NUM_THREADS | 1 |
REDIRECT_UNIQUE_ID | ZgbeFn8AAQEALE6u1sAAAAAD |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_REDIRECT_SSL_TLS_SNI | www.lizergy.com |
REDIRECT_REDIRECT_HTTPS | on |
REDIRECT_REDIRECT_MAGICK_THREAD_LIMIT | 1 |
REDIRECT_REDIRECT_OMP_NUM_THREADS | 1 |
REDIRECT_REDIRECT_UNIQUE_ID | ZgbeFn8AAQEALE6u1sAAAAAD |
FCGI_ROLE | RESPONDER |
PHP_SELF | /index.php |
REQUEST_TIME_FLOAT | 1711726102.25 |
REQUEST_TIME | 1711726102 |
argv | Array ( ) |
argc | 0 |
Key | Value |
PHP_FCGI_CHILDREN | 0 |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
SHLVL | 0 |
PHP_FCGI_MAX_REQUESTS | 1000 |
ORIG_SCRIPT_NAME | /14af156b89d84504c26e7114fa839789/php7.4-fcgi-wrapper |
ORIG_PATH_TRANSLATED | /var/www/web1476/html/data/2018/index.php |
ORIG_PATH_INFO | /index.php |
ORIG_SCRIPT_FILENAME | /var/www/php-starter/web1476/php7.4-fcgi-wrapper |
CONTENT_LENGTH | 0 |
HTTP_CONNECTION | close |
SCRIPT_NAME | /index.php |
REQUEST_URI | /images/referenzen/2016_04_kreis_alpirsbach/Rmlinsdorf3.JPG |
QUERY_STRING | |
REQUEST_METHOD | GET |
SERVER_PROTOCOL | HTTP/1.1 |
GATEWAY_INTERFACE | CGI/1.1 |
REDIRECT_URL | /index.php |
REMOTE_PORT | 45474 |
SCRIPT_FILENAME | /var/www/web1476/html/data/2018/index.php |
SERVER_ADMIN | [no address given] |
CONTEXT_DOCUMENT_ROOT | /var/www/php-starter/web1476/ |
CONTEXT_PREFIX | /14af156b89d84504c26e7114fa839789/ |
REQUEST_SCHEME | https |
DOCUMENT_ROOT | /var/www/web1476/html/data/2018 |
REMOTE_ADDR | 34.239.185.22 |
SERVER_PORT | 443 |
SERVER_ADDR | 109.237.130.155 |
SERVER_NAME | www.lizergy.com |
SERVER_SOFTWARE | Apache |
SERVER_SIGNATURE | <address>Apache Server at www.lizergy.com Port 443</address> |
HTTP_HOST | www.lizergy.com |
HTTP_REFERER | http://www.lizergy.com/images/referenzen/2016_04_kreis_alpirsbach/Rmlinsdorf3.JPG |
HTTP_USER_AGENT | claudebot |
HTTP_ACCEPT | */* |
SSL_TLS_SNI | www.lizergy.com |
HTTPS | on |
MAGICK_THREAD_LIMIT | 1 |
OMP_NUM_THREADS | 1 |
UNIQUE_ID | ZgbeFn8AAQEALE6u1sAAAAAD |
REDIRECT_STATUS | 200 |
REDIRECT_HANDLER | x-httpd-php7.4 |
REDIRECT_SSL_SESSION_RESUMED | Initial |
REDIRECT_SSL_SERVER_A_SIG | sha256WithRSAEncryption |
REDIRECT_SSL_SERVER_A_KEY | rsaEncryption |
REDIRECT_SSL_SERVER_I_DN | CN=Sectigo RSA Domain Validation Secure Server CA,O=Sectigo Limited,L=Salford,ST=Greater Manchester,C=GB |
REDIRECT_SSL_SERVER_S_DN | CN=www.lizergy.com |
REDIRECT_SSL_SERVER_V_END | Nov 7 23:59:59 2024 GMT |
REDIRECT_SSL_SERVER_V_START | Oct 9 00:00:00 2023 GMT |
REDIRECT_SSL_SERVER_M_SERIAL | E508417F1DC32BF856A8AD3B484B9B31 |
REDIRECT_SSL_SERVER_M_VERSION | 3 |
REDIRECT_SSL_CLIENT_VERIFY | NONE |
REDIRECT_SSL_CIPHER_ALGKEYSIZE | 256 |
REDIRECT_SSL_CIPHER_USEKEYSIZE | 256 |
REDIRECT_SSL_CIPHER_EXPORT | false |
REDIRECT_SSL_CIPHER | ECDHE-RSA-AES256-GCM-SHA384 |
REDIRECT_SSL_COMPRESS_METHOD | NULL |
REDIRECT_SSL_SECURE_RENEG | true |
REDIRECT_SSL_PROTOCOL | TLSv1.2 |
REDIRECT_SSL_VERSION_LIBRARY | OpenSSL/1.0.2l |
REDIRECT_SSL_VERSION_INTERFACE | mod_ssl/2.4.10 |
REDIRECT_SSL_SERVER_I_DN_CN | Sectigo RSA Domain Validation Secure Server CA |
REDIRECT_SSL_SERVER_I_DN_O | Sectigo Limited |
REDIRECT_SSL_SERVER_I_DN_L | Salford |
REDIRECT_SSL_SERVER_I_DN_ST | Greater Manchester |
REDIRECT_SSL_SERVER_I_DN_C | GB |
REDIRECT_SSL_SERVER_S_DN_CN | www.lizergy.com |
REDIRECT_SSL_TLS_SNI | www.lizergy.com |
REDIRECT_HTTPS | on |
REDIRECT_MAGICK_THREAD_LIMIT | 1 |
REDIRECT_OMP_NUM_THREADS | 1 |
REDIRECT_UNIQUE_ID | ZgbeFn8AAQEALE6u1sAAAAAD |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_REDIRECT_SSL_TLS_SNI | www.lizergy.com |
REDIRECT_REDIRECT_HTTPS | on |
REDIRECT_REDIRECT_MAGICK_THREAD_LIMIT | 1 |
REDIRECT_REDIRECT_OMP_NUM_THREADS | 1 |
REDIRECT_REDIRECT_UNIQUE_ID | ZgbeFn8AAQEALE6u1sAAAAAD |
FCGI_ROLE | RESPONDER |