OwnShip Guide

Clean URLs

By default OwnShip uses query-string URLs: ?page=my-page. With clean URLs enabled, pages serve as /my-page instead.

Setup

1. Enable in _site.ini:

clean_urls = true

2. Create .htaccess next to index.php:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [L]
</IfModule>

This works at any path depth — no RewriteBase needed.

Requirements

Local preview

Not every local server reads .htaccess. PHP's built-in server (the bundled preview scripts) and Herd (nginx) don't — set clean_urls = false in _site.ini when previewing on those. Apache-based stacks (XAMPP, MAMP, WampServer) do, so use one of those if you want to test clean URLs locally. See Local Preview.