# .htaccess test for OpenCL refpage aliasing

Options +Indexes +FollowSymLinks

# Try using Redirect directive instead of mod_rewrite

Redirect seeother vload.html vloadn.html

# Redirect aliases of refpages

RewriteEngine on

# Ensure we use www.
# RewriteCond %{HTTP_HOST} ^khronos.org
# RewriteCond %{HTTPS} ^on

# Avoid redirect loops
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]

RewriteRule ^(redir|fred).html$ write_pipe.html
