Using different file extensions
Perch uses PHP to deliver your content, so by default the pages of your site must be .php
files.
However, if your hosting account allows for .htaccess
(web server configuration) files, it’s possible to tell the web server to run PHP in other sorts of pages.
To do this, create a new file at the top level of your website and call it htaccess.txt
(we’ll rename it shortly).
The configuration settings needed for this vary from host to host, but here are some common ones. You may need to check your host’s documentation or knowledgebase on how to do this. Try one, and if it doesn’t work, try the next.
Option 1: AddType
Put the following line into the file:
AddType application/x-httpd-php .php .htm .html
Options 2: AddHandler
Put the following line into the file:
AddHandler php-script .html
You can add any file extensions you’d like to treat as PHP. (Don’t add other server-side scripting languages like .asp
unless you know what you’re doing!)
Once you’ve done that, rename your file to .htaccess
– that’s starting with a dot and no file extension. This is a hidden file, so depending on your software settings, it may then appear to vanish. Most web editing software has a setting to show hidden files.
The files with the extensions you listed should now be run as PHP, enabling Perch to manage your content.
You can also use this method to parse a .xml
or .json
file or other text format as PHP if you want to use Perch to create those files.
If you make a mistake in the .htaccess
file or this is not supported by your host you may get an error, or a zero-length document, or your .html
pages will just ignore it.
Troubleshooting steps
If your site is now throwing an error then you have either made a mistake in your
.htaccess
file or your host does not support this. Search on your hosting company website for AddType and see if they have an alternate syntax to use, or raise a ticket with your host for help. You could send them the link to this support page.If your site is not erroring but Perch does not seem to be picking up your regions, View Source. If you can see the Perch runtime include at the top of the page then PHP is not being parsed. This include should not be visible if everything is set up correctly.
Check that you have copied the line exactly with no extra characters into a plain text or code editor.
Check that you have renamed the file correctly as
.htaccess
and placed it in the root of your site.If your host gets back to you with information that you do not understand, raise a ticket with us giving us details of what your host has said.