В этой CMS настройки ЧПУ сделаны очень уж не очевидно и после каждой установки приходится лезть на официальный форум и искать там нужную запись, в которой написано что надо делать.
Решил для простоты написать этот не мудрёный процесс сюда, чтобы и люди находили и мне далеко за этми идти не надо было.
Для настройки ЧПУ на сайте с CMS Made Simple необходимо:
1. В файле config.php найти блок #URL Settings и установить настройки как здесь:
#------------ #URL Settings #------------ #What type of URL rewriting should we be using for pretty URLs? Valid options are: #'none', 'internal', and 'mod_rewrite'. 'internal' will not work with IIS some CGI #configurations. 'mod_rewrite' requires proper apache configuration, a valid #.htaccess file and most likely {metadata} in your page templates. For more #information, see: #http://wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs#Pretty_URL.27s $config['url_rewriting'] = 'mod_rewrite'; #Extension to use if you're using mod_rewrite for pretty URLs. $config['page_extension'] = '/'; #If you're using the internal pretty url mechanism or mod_rewrite, would you like to #show urls in their hierarchy? (ex. http://www.mysite.com/parent/parent/childpage) $config['use_hierarchy'] = true; #If using none of the above options, what should we be using for the query string #variable? (ex. http://www.mysite.com/index.php?page=somecontent) $config['query_var'] = 'page';
2. В корне сайта создаём файл .htaccess и записываем в него следующее:
RewriteEngine on# 301 Redirect all requests that don't contain a dot or trailing slash to # include a trailing slash RewriteCond %{REQUEST_URI} !/$ RewriteCond %{REQUEST_URI} !\. RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L] # Rewrites urls in the form of /parent/child/ # but only rewrites if the requested URL is not a file or directory RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?page=$1 [QSA]