When you change the permalinks settings in WordPress, a new .htaccess file is automatically generated that will execute the correct Apache mod.rewrite rule.
However, Koozali (SME server) by default does not allow loading of .htaccess files as this is considered insecure.
To have Apache allow loading of .htaccess files in an ibay, use the following command:
db accounts setprop IBAYNAME AllowOverride All signal-event ibay-modify IBAYNAME
Next, we can change the Permalinks setting in WordPress from “Plain” (http://yoursite.com/?p=123) to “Post-name” (http://yoursite.com/sample-post).
However, Koozali (SME server) Apache by default has 2 options disabled that need to be enabled for URL rewriting (= “Post-name” type permalinks) to work:
Options +FollowSymLinks RewriteEngine On
The .htaccess file generated by WordPress looks something like this:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
We can simply add the two required instructions like so:
# BEGIN WordPress <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
It is recommended to change permissions to 640 (rw-r—– admin shared .htaccess) to prevent WordPress from overwriting this .htaccess file whenever Permalinks settings are (accidentally) changed.
If you want you can enable the FollowSymlinks option natively like so:
db accounts show [ibay] db accounts setprop [ibay] FollowSymlinks enabled signal-event ibay-modify [ibay]
You will still need to use a .htaccess file for the ReWriteEngine rules though.