I'm trying to use htaccess to rewrite example.com/data to example.com/index.php?section=data. I'm using Statamic which seems to make things a bit more complicated. I get a 404 when using the below htaccess, what do I do wrong?
If I change "RewriteRule ^data index.php?section=data" to "RewriteRule ^data http://example.com/index.php?section=data" it works fine but it seems to trigger a redirect and the url changes to "http://example.com/index.php?section=data" which I would like to avoid.
# Turn on the Rewrite Engine
RewriteEngine On
# ------------------------------------------------------------------------------
# Dynamic RewriteBase
# ------------------------------------------------------------------------- -----
# For most servers, this will be able to dynamically find your site's root,
# but if it doesn't for you, comment out these next two lines...
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
RewriteRule ^(.*)$ - [E=BASE:%1]
# ...and uncomment out the following line, then set as you need to
#RewriteBase /
# ------------------------------------------------------------------------------
# Protect System Files
# ------------------------------------------------------------------------------
RewriteRule ^_app - [F,L]
RewriteRule ^_config - [F,L]
RewriteRule ^_cache - [F,L]
RewriteRule ^_content - [F,L]
RewriteRule ^_logs - [F,L]
RewriteRule ^_storage - [F,L]
RewriteRule ^admin/themes/[^/]*/(?:layouts|templates) - [F,L]
RewriteRule ^.*?\.yml$ - [F,L]
RewriteRule ^.*?\.yaml$ - [F,L]
RewriteRule ^.*/?\.git+ - [F,L]
# This will prevent all .html files from being accessed.
# You may want to remove this line if you want to serve
# static files outside of Statamic
#RewriteRule ^(.*)?\.html$ - [F,L]
# ------------------------------------------------------------------------------
# Remove Trailing Slashes from URL
# ------------------------------------------------------------------------- -----
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\/(\?.*)?$ $1$2 [R=301,L]
# ------------------------------------------------------------------------------
# Remove the Index File
# ------------------------------------------------------------------------------
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
RewriteRule ^data index.php?section=data