ЧПУ в CMS Made Simple // Блог непонятно кого

No public Twitter messages.


Этот блог устарел и, скорее всего, больше не будет обновляться. В ближайшем будущем он переедет сюда.
7 декабря 2009 // Веб-разработка

ЧПУ в CMS Made Simple

В этой 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]


  • twitter
  • rss
  • хабр
  • жежека
  • ластфм