# 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 # END Expires # BEGIN Caching Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=2592000, public" Header set Cache-Control "max-age=604800, public" Header set Cache-Control "max-age=216000, private" Header set Cache-Control "max-age=216000, public, must-revalidate" Header set Cache-Control "max-age=1, private, must-revalidate" # END Caching RewriteEngine on #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 ^js/(.+)$ view/js/$1 [NC,L] RewriteRule ^css/(.+)$ view/css/$1 [NC,L] RewriteRule ^img/(.+)$ view/img/$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 ^downloadNow$ objects/downloadVideo.php [NC,L] RewriteRule ^getDownloadProgress$ objects/downloadVideoProgress.php [NC,L] RewriteRule ^status$ objects/status.json.php [NC,L] 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/([A-Za-z0-9-_.]+)/page/([0-9]+)/?$ view/videosList.php?videoName=$1&page=$2 [QSA] RewriteRule ^videosList/cat/([A-Za-z0-9-]+)/video/([A-Za-z0-9-_.]+)/page/([0-9]+)/?$ view/videosList.php?catName=$1&videoName=$2&page=$3 [QSA] #for the category name RewriteRule ^cat/([A-Za-z0-9-]+)/?$ view/?catName=$1 [NC,L,QSA] RewriteRule ^cat/([A-Za-z0-9-]+)/page/([0-9]+)/?$ view/?catName=$1&page=$2 [NC,L,QSA] #for the video name RewriteRule ^video/([A-Za-z0-9-_.]+)/?$ view/?videoName=$1 [QSA] RewriteRule ^v/([0-9]+)/?$ view/?v=$1 [QSA] RewriteRule ^video/([A-Za-z0-9-_.]+)/page/([0-9]+)/??$ view/?videoName=$1&page=$2 [QSA] #for the video name RewriteRule ^cat/([A-Za-z0-9-]+)/video/([A-Za-z0-9-_.]+)/?$ view/?catName=$1&videoName=$2 [QSA] RewriteRule ^cat/([A-Za-z0-9-]+)/video/([A-Za-z0-9-_.]+)/page/([0-9]+)/?$ view/?catName=$1&videoName=$2&page=$3 [QSA] #for the embeded video name RewriteRule ^videoEmbeded/([A-Za-z0-9-_.]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA] RewriteRule ^videoEmbed/([A-Za-z0-9-_.]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA] RewriteRule ^vEmbed/([0-9]+)/?$ view/videoEmbeded.php?v=$1 [QSA] RewriteRule ^plugin/([A-Za-z0-9-_.]+)/(.*)?$ 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] #edit your own user RewriteRule ^user$ view/user.php [NC,L] #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] #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 ^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 ^channel/([^/]+)/?$ view/channel.php?channelName=$1 [NC,L] RewriteRule ^channel/?$ view/channel.php [NC,L] RewriteRule ^channels/?$ view/channels.php [NC,L] #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 ^reencodeVideo$ objects/videoReencode.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 ^youPHPTubeQueueEncoder.json$ objects/youPHPTubeQueueEncoder.json.php [NC,L] RewriteRule ^youPHPTubeEncoder.json$ objects/youPHPTubeEncoder.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] # It must be before image not found RewriteRule ^videos/([A-Za-z0-9-_.]+)$ view/xsendfile.php?file=$1 [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 [NC,L]