clip-bucket ,nginx and rewrite ceo urls
От доста време се опитвам да открия успешен вариянт да подкарам clip-bucket под nginx с работещ rewrite. Останах с лошо впечетление, след като прочетох във форума на clip-bucket че всичко според тях работело идеално за apache но не и за nginx и LiteSpeed. Е.. аз открих пък вариянт в който всичко да работи на nginx!
Ето работещите правила които трябва да се добавят в конфига на виртуалния хост:
location /videos { rewrite ^/videos/(.*)/(.*)/(.*)/(.*)/(.*) /videos.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2; rewrite ^/videos/([0-9]+) /videos.php?page=$1; rewrite ^/videos/?$ /videos.php?$query_string; } location /video { rewrite ^/video/(.*)/(.*) /watch_video.php?v=$1&$query_string; rewrite ^/video/([0-9]+)_(.*) /watch_video.php?v=$1&$query_string; } location / { rewrite ^/(.*)_v([0-9]+) /watch_video.php?v=$2&$query_string; rewrite ^/([a-zA-Z0-9-]+)/?$ /view_channel.php?uid=$1&seo_diret=yes; } location /channels { rewrite ^/channels/(.*)/(.*)/(.*)/(.*)/(.*) /channels.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2; rewrite ^/channels/([0-9]+) /channels.php?page=$1; rewrite ^/channels/?$ /channels.php; } location /members { rewrite ^/members/?$ /channels.php; } location /users { rewrite ^/users/?$ /channels.php; } location /user { rewrite ^/user/(.*) /view_channel.php?user=$1; } location /channel { rewrite ^/channel/(.*) /view_channel.php?user=$1; } location /my_account { rewrite ^/my_account /myaccount.php; } location /page { rewrite ^/page/([0-9]+)/(.*) /view_page.php?pid=$1; } location /search { rewrite ^/search/result/?$ /search_result.php; } location /upload { rewrite ^/upload/?$ /upload.php; } location /contact { rewrite ^/contact/?$ /contact.php; } location /categories { rewrite ^/categories/?$ /categories.php; } location /group { rewrite ^/group/([a-zA-Z0-9].+) /view_group.php?url=$1&$query_string; } location /view_topic { rewrite ^/view_topic/([a-zA-Z0-9].+)_tid_([0-9]+) /view_topic.php?tid=$2&$query_string; } location /groups { rewrite ^/groups/(.*)/(.*)/(.*)/(.*)/(.*) /groups.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2; rewrite ^/groups/([0-9]+) /groups.php?page=$1; rewrite ^/groups/?$ /groups.php; } location /create_grou { rewrite ^/create_group /create_group.php; } location /collections { rewrite ^/collections/(.*)/(.*)/(.*)/(.*)/(.*) /collections.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2; rewrite ^/collections/([0-9]+) /collections.php?page=$1; rewrite ^/collections/?$ /collections.php; } location /photos { rewrite ^/photos/(.*)/(.*)/(.*)/(.*)/(.*) /photos.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2; rewrite ^/photos/([0-9]+) /photos.php?page=$1; rewrite ^/photos/?$ /photos.php; } location /collection { rewrite ^/collection/(.*)/(.*)/(.*) /view_collection.php?cid=$1&type=$2&$query_string; } location /item { rewrite ^/item/(.*)/(.*)/(.*)/(.*) /view_item.php?item=$3&type=$1&collection=$2; } location /photo_upload { rewrite ^/photo_upload/(.*) /photo_upload.php?collection=$1; rewrite ^/photo_upload/?$ /photo_upload.php; } location = /sitemap.xml { rewrite ^(.*)$ /sitemap.php; } location /signup { rewrite ^/signup/?$ /signup.php; } location = /rss { rewrite ^(.*)$ /rss.php; } location /rss { rewrite ^/rss/([a-zA-Z0-9].+)$ /rss.php?mode=$1&$query_string; }
Така можем да ползваме пълноценно всичките екстри на clip-bucket!
Тъй като се натъкнах и на още един проблем , а именно качването на големи файлове в сайта , ето и решение на проблема.
Грешката която видях в лога на nginx-a е следната :
client intended to send too large body:
Тъй като ползвам ISPconfig , останових че чрез стандартните настройки на php.ini или увеличяването на ъплоад размера не се получиха нещата , открих странен трик за решаване на този проблем. Поставих client_max_body_size 900M; в nginx.conf в секция http {}
Воала.. вече мога и да ъплоадвам 🙂