emeraldion/zelda/master/.htaccess - Htaccess File

emeraldion/zelda/master/.htaccess

ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  # Legacy old URLs

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(index|home).php$ / [L,R,QSA]

  # Custom rules for Software

  # Software version check for widgets
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/widgets/versioncheck/([^/]+)$ /router.php?controller=software&action=widgets_versioncheck&software_name=$1 [L,QSA]

  # Software version check for widgets
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/widgets/versioncheck(.*)$ /router.php?controller=software&action=widgets_versioncheck [L,QSA]

  # Software details page
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/(macosx|widgets)/([^/]+).html$ /router.php?controller=software&action=show&software_type=$1&software_name=$2&subview=main [L,QSA]

  # Software default details page
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/(macosx|widgets)/([^/]+)/([^/]+).html$ /router.php?controller=software&action=show&software_type=$1&software_name=$2&subview=$3 [L,QSA]

  # Software actions
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/(download)/([^/]+)/?(.+)?$ /router.php?controller=software&action=$1&id=$2 [L,QSA]

  # Sparkle actions
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/appcast/([^/]+)/?$ /router.php?controller=sparkle&software_name=$1 [L,QSA]

  # Sparkle actions
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/(macosx|widgets)/([^/]+)/appcast/?$ /router.php?controller=sparkle&software_name=$2 [L,QSA]

  # Software, old pages
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/(macosx|widgets)/([^./]+)/?$ /software/$1/$2.html [R,QSA]

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/(macosx|widgets)/([^/]+)/([^0-9./]+)/?$ /software/$1/$2/$3.html [R,QSA]

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^software/(macosx|widgets)/([^/]+)/(download/)?([^/]+).(dmg|zip)$ /software/$1/$2.html [R,QSA]

  # Feeds
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^atom/([^/]+).atom$ /router.php?controller=atom&action=$1 [L,QSA]

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^feed/([^/]+).rss$ /router.php?controller=feed&action=$1 [L,QSA]

  # KML
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^kml/([^/]+).kml$ /router.php?controller=kml&action=$1 [L,QSA]

  # Errors
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^error/([^/]+).html$ /router.php?controller=error&action=_$1 [L,QSA]

  # Diario, by date
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^diario/(calendar|date)/([0-9]{4})/?([0-9]{1,2})?/?([0-9]{1,2})?/?$ /router.php?controller=diario&action=$1&year=$2&month=$3&day=$4 [L,QSA]

  # Text assets are zipped to save bandwidth
  RewriteRule ^assets/(javascript|styles)((/[^/]+)*)/([^/]+).([^.]+)$ /router.php?controller=asset&action=index&dir=$1$2&file=$4&ext=$5 [L,QSA]

  # Default rules

  # Controller alone
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^([^/]+).(html|js(on)?|png|jpe?g|css)$ /router.php?controller=$1 [L,QSA]

  # Controller, with action
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^([^/]+)/([^/]+).(html|js(on)?|png|jpe?g|css)$ /router.php?controller=$1&action=$2 [L,QSA]

  # Controller, action and id of target
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ /router.php?controller=$1&action=$2&id=$3 [L,QSA]

  # Controller without extension
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^([^/]+)/?$ /$1.html [R,L,QSA]

  # Default controller
  RewriteRule ^$ home.html [L,QSA]
</IfModule>

On Github License

Files

Download PDF of Htaccess file
REQUEST_FILENAME

Comments

Apache