Kai Hendry
2015-10-10 17:00:07 +08:00
parent 28fcec43f2
commit ce54e4c0f1
2 changed files with 14 additions and 12 deletions

View File

@@ -10,6 +10,7 @@ http {
sendfile on;
gzip on;
gzip_vary on;
# Some things are gzipped on the fly, but tweets.txt.gz is kept gzipped on disk to save disk space
gzip_types application/x-javascript text/css application/javascript application/json;
server {
@@ -17,24 +18,24 @@ http {
server_name greptweet.com;
root /srv/http;
charset utf-8;
access_log /srv/http/u/greptweet.access.log;
error_log /srv/http/u/greptweet.error.log;
access_log /var/log/nginx/greptweet.access.log;
error_log /var/log/nginx/greptweet.error.log;
error_page 403 =303 /404.php;
error_page 404 /404.php;
error_page 404 = /404.php;
location / {
index index.php index.html;
rewrite ^/f/(.*)$ /create.php?id=$1 last;
}
location ~ \.(gz)$ {
add_header Content-Encoding gzip;
gzip off;
}
location ~ \.(gz)$ {
add_header Content-Encoding gzip;
gzip off;
}
location ~ \.(txt)$ {
rewrite ^/u/(.*)/ /u/$1/$1.txt.gz last;
}
location ~ \.(txt)$ {
rewrite ^/u/(.*)/ /u/$1/$1.txt.gz last;
}
location ~* \.(svg|css|js)$ {
expires 7d;

View File

@@ -2,8 +2,9 @@
if (preg_match('#^/u/#', $_SERVER["REQUEST_URI"])) {
$username = basename($_SERVER["REQUEST_URI"]);
if ((!empty($username)) && (strlen($username < 16)) && preg_match('/^[A-Za-z0-9_]+$/', $username)) {
header("Location:http://" . $_SERVER["HTTP_HOST"] . "/f/" . $username);
die();
header("HTTP/1.1 303 See Other");
header("Location:http://" . $_SERVER["HTTP_HOST"] . "/f/" . strtolower($username));
die();
}
}
?>