forked from GNUsocial/gnu-social
Enable 404-based rewrites for lighttpd installations in /
This commit is contained in:
parent
4e9db95bcf
commit
06a41d4516
18
index.php
18
index.php
@ -107,6 +107,24 @@ function checkMirror($action_obj)
|
||||
|
||||
function main()
|
||||
{
|
||||
// fake HTTP redirects using lighttpd's 404 redirects
|
||||
if (strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') !== false) {
|
||||
$_lighty_url = $base_url.$_SERVER['REQUEST_URI'];
|
||||
$_lighty_url = @parse_url($_lighty_url);
|
||||
|
||||
if ($_lighty_url['path'] != '/index.php' && $_lighty_url['path'] != '/') {
|
||||
$_SERVER['QUERY_STRING'] = 'p='.substr($_lighty_url['path'], 1);
|
||||
if ($_lighty_url['query'])
|
||||
$_SERVER['QUERY_STRING'] .= '&'.$_lighty_url['query'];
|
||||
parse_str($_lighty_url['query'], $_lighty_query);
|
||||
foreach ($_lighty_query as $key => $val) {
|
||||
$_GET[$key] = $_REQUEST[$key] = $val;
|
||||
}
|
||||
$_GET['p'] = $_REQUEST['p'] = substr($_lighty_url['path'], 1);
|
||||
}
|
||||
}
|
||||
$_SERVER['REDIRECT_URL'] = preg_replace("/\?.+$/", "", $_SERVER['REQUEST_URI']);
|
||||
|
||||
// quick check for fancy URL auto-detection support in installer.
|
||||
if (isset($_SERVER['REDIRECT_URL']) && (preg_replace("/^\/$/","",(dirname($_SERVER['REQUEST_URI']))) . '/check-fancy') === $_SERVER['REDIRECT_URL']) {
|
||||
die("Fancy URL support detection succeeded. We suggest you enable this to get fancy (pretty) URLs.");
|
||||
|
2
lighttpd.conf.example
Normal file
2
lighttpd.conf.example
Normal file
@ -0,0 +1,2 @@
|
||||
# Add this line to lighttpd.conf to enable pseudo-rewrites using 404s
|
||||
server.error-handler-404 = "/index.php"
|
Loading…
Reference in New Issue
Block a user