diff --git a/.htaccess b/.htaccess index 95e9f8ae0..eb01a3a20 100644 --- a/.htaccess +++ b/.htaccess @@ -1,360 +1,361 @@ # BEGIN Expires Don't forget to enable mod_headers and mod_expires, you can do so by running a2enmod rewrite and a2enmod headers ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType text/html "access plus 1 seconds" ExpiresByType image/gif "access plus 2592000 seconds" ExpiresByType image/jpeg "access plus 2592000 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 216000 seconds" ExpiresByType application/x-javascript "access plus 216000 seconds" Order Allow,Deny Deny from all Require all denied Order Allow,Deny Deny from all Require all denied Order Allow,Deny Deny from all Require all denied Order Allow,Deny Deny from all Require all denied # Disable directory browsing Options All -Indexes # END Expires # BEGIN Caching Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=2592000, public" Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=604800, public" Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=216000, private" + Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=216000, public, must-revalidate" Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=1, private, must-revalidate" # END Caching RewriteEngine on #VideoHLS for DRM RewriteRule ^videos/webfonts/(fa-.*) view/css/fontawesome-free-5.5.0-web/webfonts/$1 [NC,L] RewriteRule ^playLink/?$ view/modePlayLink.php [QSA] RewriteRule ^videos/([^/]+)/(.*).key$ plugin/VideoHLS/downloadProtection.php?filename=$1&key=$2 [QSA] RewriteRule glyphicons-halflings-regular(.+)$ view/bootstrap/fonts/glyphicons-halflings-regular$1 [NC,L] RewriteRule ^meet/([0-9]+)/(.+)$ plugin/Meet/iframe.php?meet_schedule_id=$1&roomName=$2 [NC,L,QSA] RewriteRule ^meet/([0-9]+)$ plugin/Meet/iframe.php?meet_schedule_id=$1 [NC,L,QSA] RewriteRule ^live/([0-9]+)/(.+)/(.+)$ plugin/Live/?live_servers_id=$1&c=$2&live_index=$3 [NC,L,QSA] RewriteRule ^live/([0-9]+)/(.+)$ plugin/Live/?live_servers_id=$1&c=$2 [NC,L,QSA] RewriteRule ^liveLink/([0-9]+).*$ plugin/LiveLinks/view/Live.php?link=$1 [NC,L,QSA] RewriteRule ^liveLinkEmbed/([0-9]+).*$ plugin/LiveLinks/view/Live.php?link=$1&embed=1 [NC,L,QSA] #main Files RewriteRule ^index.php$ view/index.php [NC,L] #RewriteRule ^index.php$ /view/index.php [NC,L] #RewriteRule ^$ view/ [NC,L] RewriteRule ^bootstrap/(.+)$ view/bootstrap/$1 [NC,L] RewriteRule bootstrap-select.js.map$ view/bootstrap/bootstrapSelectPicker/js/bootstrap-select.js.map$1 [NC,L] RewriteRule ^oembed/?(.+)$ view/oembed.php$1 [NC,L] RewriteRule ^js/(.+)$ view/js/$1 [NC,L] RewriteRule ^css/(.+)$ view/css/$1 [NC,L] RewriteRule ^img/(.+)$ view/img/$1 [NC,L] RewriteRule ^i/(.+)$ view/iframe.php?type=$1 [NC,L] RewriteRule ^videos/fonts/(.+)$ view/bootstrap/fonts/$1 [NC,L] RewriteRule ^page/([0-9]+)/?$ view/?page=$1 [QSA] RewriteRule ^videoOnly/?$ view/?type=video [NC,L] RewriteRule ^audioOnly/?$ view/?type=audio [NC,L] RewriteRule ^download$ view/downloadExternalVideo.php [NC,L] RewriteRule ^info$ view/info.php [NC,L] RewriteRule ^version$ view/info.php?version=1 [NC,L] RewriteRule ^downloadNow$ objects/downloadVideo.php [NC,L] RewriteRule ^getDownloadProgress$ objects/downloadVideoProgress.php [NC,L] RewriteRule ^status$ objects/status.json.php [NC,L] RewriteRule ^menu/([^!#$&'()*+,\/:;=?@[\]]+)/? plugin/TopMenu/seo.php?menuSeoUrlItem=$1 [QSA,L] RewriteRule ^admin/plugin/(.+)$ plugin/$1 [NC,L] RewriteRule ^trending/?$ view/trending.php [NC,L,QSA] RewriteRule ^about$ view/about.php [NC,L] RewriteRule ^contact$ view/contact.php [NC,L] RewriteRule ^sendEmail$ objects/sendEmail.json.php [NC,L] RewriteRule ^captcha$ objects/getCaptcha.php [NC,L] RewriteRule ^monitor/(.+)$ objects/ServerMonitor/$1 [NC,L] RewriteRule ^videosList$ view/videosList.php [NC,L] RewriteRule ^videosList/video/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/videosList.php?videoName=$1&page=$2 [QSA] RewriteRule ^videosList/cat/([^!#$&'()*,\/:;=?@[\]]+)/video/([^!#$&'()*+,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/videosList.php?catName=$1&videoName=$2&page=$3 [QSA] #for the category name RewriteRule ^cat/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/?catName=$1 [NC,L,QSA] RewriteRule ^cat/([^!#$&'()*+,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/?catName=$1&page=$2 [NC,L,QSA] RewriteRule ^tag/([0-9-]+)(.*)?$ view/?tags_id=$1 [NC,L,QSA] #for the video name RewriteRule ^video/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?videoName=$1 [QSA] RewriteRule ^video/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?videoName=$1&page=$2 [QSA] RewriteRule ^v/([0-9a-zA-Z_.-]+)/?$ view/?v=$1 [QSA] RewriteRule ^v/([0-9a-zA-Z_.-]+)/page/([0-9]+)/??$ view/?v=$1&page=$2 [QSA] RewriteRule ^video/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?v=$1 [QSA] RewriteRule ^video/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?v=$1&page=$3 [QSA] RewriteRule ^evideo/([a-zA-z0-9=]+)/?$ view/?evideo=$1 [QSA] #for the video name RewriteRule ^cat/([^!#$&'()*,\/:;=?@[\]]+)/video/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/?catName=$1&videoName=$2 [QSA] RewriteRule ^cat/([^!#$&'()*,\/:;=?@[\]]+)/video/([^!#$&'()*+,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/?catName=$1&videoName=$2&page=$3 [QSA] #for the embeded video name RewriteRule ^videoEmbeded/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1 [QSA] RewriteRule ^videoEmbeded/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA] RewriteRule ^cat/([^!#$&'()*,\/:;=?@[\]]+)/videoEmbeded/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?catName=$1&videoName=$2 [QSA] RewriteRule ^videoEmbed/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1 [QSA] RewriteRule ^videoEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA] RewriteRule ^vEmbed/([0-9a-zA-Z_.-]+)/?$ view/videoEmbeded.php?v=$1 [QSA] RewriteRule ^videoEmbed/([0-9a-zA-Z_.-]+)/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?v=$1 [QSA] RewriteRule ^evideoEmbed/([a-zA-z0-9=]+)/?$ view/videoEmbeded.php?evideo=$1 [QSA] RewriteRule ^plugin/([^!#$&'()*+,\/:;=?@[\]]+)/(.*)?$ plugin/$1/$2 [NC,L] RewriteRule ^upload$ view/mini-upload-form/ [NC,L] RewriteRule ^fileUpload$ view/mini-upload-form/upload.php [NC,L] RewriteRule ^uploadPoster/([0-9]+)/(jpg|gif)$ objects/uploadPoster.php?video_id=$1&type=$2 [NC,L] #for the Article name RewriteRule ^article/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?videoName=$1 [QSA] RewriteRule ^article/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?videoName=$1&page=$2 [QSA] RewriteRule ^article/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?v=$1 [QSA] RewriteRule ^article/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?v=$1&page=$3 [QSA] #for the embeded article name RewriteRule ^articleEmbed/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1 [QSA] RewriteRule ^articleEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA] RewriteRule ^cat/([^!#$&'()*,\/:;=?@[\]]+)/articleEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?catName=$1&videoName=$2 [QSA] RewriteRule ^articleEmbed/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1 [QSA] RewriteRule ^articleEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA] RewriteRule ^articleEmbed/([0-9a-zA-Z_.-]+)/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?v=$1 [QSA] #edit your own user RewriteRule ^user$ view/user.php [NC,L] RewriteRule ^user/([0-9]+)/foto.png$ view/userGetPhoto.php?users_id=$1 [QSA] #manager user RewriteRule ^users$ view/managerUsers.php [NC,L] RewriteRule ^users.json$ objects/users.json.php [NC,L] RewriteRule ^updateUser$ objects/userUpdate.json.php [NC,L] RewriteRule ^savePhoto$ objects/userSavePhoto.php [NC,L] RewriteRule ^saveBackground$ objects/userSaveBackground.php [NC,L] RewriteRule ^addNewUser$ objects/userAddNew.json.php [NC,L] RewriteRule ^deleteUser$ objects/userDelete.json.php [NC,L] RewriteRule ^recoverPass$ objects/userRecoverPass.php [NC,L] RewriteRule ^saveRecoverPassword$ objects/userRecoverPassSave.json.php [NC,L] RewriteRule ^signUp$ view/signUp.php [NC,L] RewriteRule ^createUser$ objects/userCreate.json.php [NC,L] RewriteRule ^usersGroups$ view/managerUsersGroups.php [NC,L] RewriteRule ^usersGroups.json$ objects/usersGroups.json.php [NC,L] RewriteRule ^addNewUserGroups$ objects/userGroupsAddNew.json.php [NC,L] RewriteRule ^deleteUserGroups$ objects/userGroupsDelete.json.php [NC,L] #manager category RewriteRule ^categories$ view/managerCategories.php [NC,L] RewriteRule ^categories.json$ objects/categories.json.php [NC,L] RewriteRule ^addNewCategory$ objects/categoryAddNew.json.php [NC,L] RewriteRule ^deleteCategory$ objects/categoryDelete.json.php [NC,L] RewriteRule ^listCategories$ view/listCategories.php [NC,L] #manager plugin RewriteRule ^plugins$ view/managerPlugins.php [NC,L] RewriteRule ^plugins.json$ objects/plugins.json.php [NC,L] RewriteRule ^pluginsAvailable.json$ objects/pluginsAvailable.json.php [NC,L] RewriteRule ^pluginImport.json$ objects/pluginImport.json.php [NC,L] RewriteRule ^switchPlugin$ objects/pluginSwitch.json.php [NC,L] RewriteRule ^addDataObjectPlugin.json$ objects/pluginAddDataObject.json.php [NC,L] RewriteRule ^runDBScriptPlugin.json$ objects/pluginRunDatabaseScript.json.php [NC,L] #manager playList RewriteRule ^epg.xml$ plugin/PlayLists/epg.xml.php [NC,L,QSA] RewriteRule ^epg.json$ plugin/PlayLists/epg.json.php [NC,L,QSA] RewriteRule ^epg.html$ plugin/PlayLists/epg.html.php [NC,L,QSA] RewriteRule ^epg$ plugin/PlayLists/epg.php [NC,L,QSA] RewriteRule ^tv$ plugin/PlayLists/tv.php [NC,L,QSA] RewriteRule ^iptv$ plugin/PlayLists/iptv.php [NC,L,QSA] RewriteRule ^iptv/([^/]+)/?$ plugin/PlayLists/iptv.php?channelName=$1 [NC,L,QSA] RewriteRule ^playLists.json$ objects/playlists.json.php [NC,L] RewriteRule ^playListsVideos.json$ objects/playlistsVideos.json.php [NC,L] RewriteRule ^playListsFromUser.json/([0-9]+)/?$ objects/playlistsFromUser.json.php?users_id=$1 [NC,L] RewriteRule ^addNewPlayList$ objects/playlistAddNew.json.php [NC,L] RewriteRule ^playListAddVideo.json$ objects/playListAddVideo.json.php [NC,L] RewriteRule ^playlist/([0-9]+)/([0-9]+)/?$ view/?playlist_id=$1&playlist_index=$2 [NC,L] RewriteRule ^playlist/([0-9]+)/?$ view/?playlist_id=$1 [NC,L] RewriteRule ^removeVideoFromPlaylist/?$ objects/playlistRemoveVideo.php [NC,L] RewriteRule ^removePlaylist/?$ objects/playlistRemove.php [NC,L] RewriteRule ^renamePlaylist/?$ objects/playlistRename.php [NC,L] RewriteRule ^sortPlaylist/?$ objects/playlistSort.php [NC,L] RewriteRule ^mrss/?$ feed/index.php?mrss=1 [QSA] RewriteRule ^roku.json$ feed/index.php?roku=1 [QSA] RewriteRule ^channel/([^/]+)/roku.json$ feed/index.php?channelName=$1&roku=1 [QSA] RewriteRule ^channel/([^/]+)/feed/?$ feed/index.php?channelName=$1 [QSA] RewriteRule ^channel/([^/]+)/rss/?$ feed/index.php?channelName=$1 [QSA] RewriteRule ^channel/([^/]+)/mrss/?$ feed/index.php?channelName=$1&mrss=1 [QSA] RewriteRule ^channel/([^/]+) view/channel.php?channelName=$1 [QSA] RewriteRule ^channel/?$ view/channel.php [QSA] RewriteRule ^channels/?$ view/channels.php [NC,L] #playlist alias RewriteRule ^programs.json$ objects/playlists.json.php [QSA] RewriteRule ^program/([0-9]+)/([0-9]+)(/.*)?$ view/?playlist_id=$1&playlist_index=$2 [QSA] RewriteRule ^program/([0-9]+)(/.*)?$ view/?playlist_id=$1 [QSA] RewriteRule ^viewProgram/([0-9]+).*?$ view/channelProgram.php?program_id=$1 [QSA] RewriteRule ^favorite/?$ view/?playlist_name=favorite [QSA] RewriteRule ^watch-later/?$ view/?playlist_name=watch-later [QSA] #manager videos RewriteRule ^orphanFiles$ view/orphanFiles.php [NC,L] RewriteRule ^mvideos$ view/managerVideos.php [NC,L] RewriteRule ^videos.json$ objects/videos.json.php [NC,L] RewriteRule ^videosAndroid.json$ objects/videosAndroid.json.php [NC,L] RewriteRule ^videoAndroid.json$ objects/videoAndroid.json.php [NC,L] RewriteRule ^deleteVideo$ objects/videoDelete.json.php [NC,L] RewriteRule ^addNewVideo$ objects/videoAddNew.json.php [NC,L] RewriteRule ^refreshVideo$ objects/videoRefresh.json.php [NC,L] RewriteRule ^setStatusVideo$ objects/videoStatus.json.php [NC,L] RewriteRule ^setCategoryVideo$ objects/videoCategory.json.php [NC,L] RewriteRule ^rotateVideo$ objects/videoRotate.json.php [NC,L] # Subscribes RewriteRule ^subscribes$ view/managerSubscribes.php [NC,L] RewriteRule ^subscribes.json$ objects/subscribes.json.php [NC,L] RewriteRule ^subscribe.json$ objects/subscribe.json.php [NC,L] RewriteRule ^notifySubscribers.json$ objects/notifySubscribers.json.php [NC,L] RewriteRule ^aVideoQueueEncoder.json$ objects/aVideoQueueEncoder.json.php [NC,L] RewriteRule ^aVideoEncoder.json$ objects/aVideoEncoder.json.php [NC,L] RewriteRule ^aVideoEncoderChunk.json$ objects/aVideoEncoderChunk.json.php [NC,L] #comment RewriteRule ^comments$ view/managerComments.php [NC,L] RewriteRule ^saveComment$ objects/commentAddNew.json.php [NC,L] RewriteRule ^comments.json/([0-9]+)$ objects/comments.json.php?video_id=$1 [NC,L] RewriteRule ^login$ objects/login.json.php [NC,L] RewriteRule ^logoff$ objects/logoff.php [NC,L] RewriteRule ^like$ objects/like.json.php?like=1 [QSA] RewriteRule ^dislike$ objects/like.json.php?like=-1 [QSA] #manager configuration RewriteRule ^update/?$ view/update.php [NC,L] RewriteRule ^siteConfigurations$ view/configurations.php [NC,L] RewriteRule ^updateConfig$ objects/configurationUpdate.json.php [NC,L] RewriteRule ^charts$ view/charts.php [NC,L] RewriteRule ^help$ view/help.php [NC,L] # YouTube Sync RewriteRule ^youtubeUpload$ objects/youtubeUpload.json.php [NC,L] RewriteRule ^googleAdView$ view/googleAdView.php [NC,L] RewriteRule ^notifications.json$ objects/notifications.json.php [NC,L] RewriteRule ^sitemap.xml$ view/sitemap.xml.php [NC,L] RewriteRule ^robots.txt$ view/robots.txt.php [NC,L] RewriteRule ^manifest.json$ view/manifest.json.php [NC,L] RewriteRule ^videos/(.*)/index.m3u8$ view/hls.php?videoDirectory=$1 [NC,L,QSA] RewriteRule ^videos/(.*)/index.m3u8.mp4$ view/hls.php?playHLSasMP4=1&videoDirectory=$1 [NC,L,QSA] RewriteRule ^vast.xml/?([0-9]+)?$ plugin/AD_Server/VAST.php?campaign_has_videos_id=$1 [NC,L] RewriteRule ^videos/([_A-Za-z0-9.-]+/)?([^!#$&'()*+,\/:;=?@[\]]+(\.(mp4|webm|m3u8|mp3|ogg)))$ view/xsendfile.php?file=$2 [QSA] # if image do not exists RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*)$ img/image404.php?image=$1 [NC,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule .*$ view/error.php [NC,L] # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddType text/vtt .vtt #php_value post_max_size 4G #php_value upload_max_filesize 4G