Simple, single ExpressionEngine configuration file to override almost all paths and server settings. As used by @airways and @litzinger.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | |
// Simple, single configuration file to override almost all paths and server settings. As used by @airways | |
// and @litzinger. | |
// Only check in the default as dist.config.php, set your version control system to ignore config.php so that | |
// local users and each instance (staging, production) can have their own settings. | |
// These config files are mainly meant to be used on a shared development server used by all developers, | |
// although it works almost as well for local development as well. | |
// After setting this up, if you are on a shared dev server, set all of your upload preferences to use uploads | |
// based in the staging site as configured here to ensure everyone has access to the same uploaded files in | |
// development. | |
// Path and URL variables. Replace uppercased values accordingly | |
$config['dev_domain'] = 'server.domain.net'; | |
$config['site_url'] = 'http://server.domain.net/~USER/PROJECT/'; | |
$config['site_path'] = '/home/USER/public_html/PROJECT/'; | |
$config['staging_url'] = 'http://PROJECT.domain.net/'; | |
$config['staging_path'] = '/vweb/PROJECT.domain.net/docs/'; | |
// Debugging and performance | |
$config['is_system_on'] = 'y'; | |
$config['show_profiler'] = (isset($_GET['D']) AND $_GET['D'] == 'cp') ? 'n' : 'y'; # y/n, only shows for Super Admins when logged in | |
$config['template_debugging'] = 'y'; # y/n | |
$config['debug'] = '2'; # 0: no PHP/SQL errors shown. 1: Errors shown to Super Admins. 2: Errors shown to everyone. | |
$config['email_debug'] = 'n'; # y/n | |
$config['save_tmpl_files'] = 'y'; # Save templates to file system? Set to 'n' and Syncronize templates on the production site. | |
$config['template_debugging_globals'] = 'n'; | |
// Caching options | |
$config['disable_all_tracking'] = 'y'; # y/n | |
$config['enable_sql_caching'] = 'y'; # Cache Dynamic Channel Queries? | |
$config['disable_tag_caching'] = 'n'; # If cache="yes" and refresh="XX" is set on tags only. See $default_global_vars global:cache_tag in config_common.php | |
$config['new_posts_clear_caches'] = 'y'; | |
// Include the real config options | |
require 'config_common.php'; |
<?php | |
$config['app_version'] = '231'; | |
$config['install_lock'] = "y"; | |
$config['license_number'] = 'xx'; | |
$config['doc_url'] = 'http://expressionengine.com/user_guide/'; | |
$config['cp_url'] = $config['site_url'] . "admin.php"; | |
$config['site_label'] = 'EE2 Core'; | |
$config['cookie_prefix'] = ''; | |
$config['autosave_interval_seconds'] = "300"; # Disabling entry autosave | |
$config['allow_extensions'] = "y"; | |
$config['multiple_sites_enabled'] = "n"; | |
$config['hidden_template_indicator'] = '_'; | |
$config['daylight_savings'] = date('I') ? 'y' : 'n'; | |
$config['server_timezone'] = 'UTC'; | |
$config['daylight_savings'] = 'n'; | |
$config['honor_entry_dst'] = 'y'; | |
// Disable robot easter egg - obscure colorful config value name: | |
$config[str_rot13('xvyy_nyy_uhznaf')] = 'disable'; | |
// Set a prefix to use in all URL Helper variables | |
$config['url_helper']['prefix'] = 'url:'; | |
// Sets the profile trigger word, e.g. site.com/members to a random string. Don't ever | |
// use /members, as spammers know this, and will attempt to member spam your site. | |
// If you need to have a members section, choose a different name. | |
$config['profile_trigger'] = md5(mt_rand()); | |
// This is pretty important. EE2 caches tags pretty hard. EE 1.6 didn't have this problem. | |
$config['disable_tag_caching'] = 'y'; | |
// Template Prefs | |
$config['tmpl_file_basepath'] = $config['site_path'] . 'templates/'; | |
$config['snippet_file_basepath'] = $config['site_path'] . 'snippets/'; | |
// System Prefs | |
$config['member_theme'] = 'default'; | |
$config['cp_theme'] = 'default'; | |
$config['theme_folder_path'] = $config['site_path'] . 'themes/'; | |
$config['theme_folder_url'] = $config['site_url'] .'themes/'; | |
$config['captcha_path'] = $config['site_path'] . 'images/captchas/'; | |
$config['captcha_url'] = $config['site_url'] . 'images/captchas/'; | |
// Member Prefs | |
$config['emoticon_path'] = $config['site_url'] . 'images/smileys/'; | |
$config['avatar_path'] = $config['staging_path'] . 'images/avatars/'; | |
$config['avatar_url'] = $config['staging_url'] . 'images/avatars/'; | |
$config['photo_path'] = $config['staging_path'] . 'images/member_photos/'; | |
$config['photo_url'] = $config['staging_url'] . 'images/member_photos/'; | |
$config['sig_img_path'] = $config['staging_path'] . 'images/signature_attachments/'; | |
$config['sig_img_url'] = $config['staging_url'] . 'images/signature_attachments/'; | |
$config['prv_msg_upload_path'] = $config['staging_path'] . 'images/pm_attachments/'; | |
$config['prv_msg_upload_url'] = $config['staging_url'] . 'images/pm_attachments/'; | |
$config['board_upload_path'] = $config['staging_path'] . 'images/forum_attachments/'; | |
$config['board_upload_url'] = $config['staging_url'] . 'images/forum_attachments/'; | |
// Tracking preferences | |
$config['enable_online_user_tracking'] = 'n'; | |
$config['dynamic_tracking_disabling'] = '500'; | |
$config['enable_hit_tracking'] = 'n'; | |
$config['enable_entry_view_tracking'] = 'n'; | |
$config['log_referrers'] = 'n'; | |
// Login/additional preferences. Use for debugging or if you are having issues logging in. | |
// $config['cookie_domain'] = ".example.com"; | |
// $config['admin_session_type'] = "c"; | |
// $config['user_session_type'] = "c"; | |
// $config['require_ip_for_login'] = "n"; | |
// $config['require_ip_for_posting'] = "n"; | |
// $config['secure_forms'] = "n"; | |
// Using REQUEST_URI to avoid funky server configs that may not use PATH_INFO, thus requiring .htaccess changes | |
// REQUEST_URI should be available on any server, so this should be immune to EE .htaccess re-write issues. | |
$request_uri = $_SERVER['REQUEST_URI']; | |
// When using GET and POST you MUST set a NULL/blank value or it will print in the template as {post:foobar} | |
// Since these are added to assign_to_config, they are put through the global xss filter, so you can be confident they are clean. | |
$default_global_vars = array( | |
// Tag parameters | |
'global:disabled_params' => 'trackbacks|pagination', | |
'global:disabled_params_strict' => 'trackbacks|pagination|member_data|category_fields', | |
'global:disabled_params_all' => 'trackbacks|pagination|member_data|category_fields|categories|custom_fields', | |
// Date and time | |
'global:date_time' => '%g:%i %a', | |
'global:date_short' => '%F %d, %Y', | |
'global:date_full' => '%F %d %Y, %g:%i %a', | |
// Add this to your exp:channel:entries and other tags, e.g. {exp:channel:entries entry_id="123" {global:cache_tag}} | |
'global:cache_tag' => 'cache="yes" refresh="240"', // refresh in minutes | |
// Common GET vars | |
'get:category' => preg_match("~category=(.*)$~", $request_uri, $matches) ? $matches[1] : NULL, | |
'get:year' => preg_match("~year=(.*)$~", $request_uri, $matches) ? $matches[1] : NULL, | |
'get:month' => preg_match("~month=(.*)$~", $request_uri, $matches) ? $matches[1] : NULL, | |
'get:day' => preg_match("~day=(.*)$~", $request_uri, $matches) ? $matches[1] : NULL, | |
'get:page' => preg_match("~page=(.*)$~", $request_uri, $matches) ? $matches[1] : NULL, | |
'env:local' => (isset($_SERVER['SERVER_NAME']) AND $_SERVER['SERVER_NAME'] == $config['dev_domain']) ? TRUE : FALSE, | |
// To link all uploaded images/assets from the staging site | |
'asset_url' => $config['staging_url'], | |
// Link to external CDNs or other external resources with something like "{http}://use.typekit.com/something.js" | |
'http' => (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http' | |
); | |
// Make this global, then add our default_global_vars to the config variables here | |
global $assign_to_config; | |
if(!isset($assign_to_config['global_vars'])) $assign_to_config['global_vars'] = array(); | |
$assign_to_config['global_vars'] = array_merge($assign_to_config['global_vars'], $default_global_vars); | |
/* -------------------------------------------------------------------------- | |
Normal ExpressionEngine config follows. | |
-------------------------------------------------------------------------- */ | |
/* | |
|-------------------------------------------------------------------------- | |
| Base Site URL | |
|-------------------------------------------------------------------------- | |
| | |
| URL to your CodeIgniter root. Typically this will be your base URL, | |
| WITH a trailing slash: | |
| | |
| http://example.com/ | |
| | |
*/ | |
$config['base_url'] = $config['site_url']; | |
/* | |
|-------------------------------------------------------------------------- | |
| Index File | |
|-------------------------------------------------------------------------- | |
| | |
| Typically this will be your index.php file, unless you've renamed it to | |
| something else. If you are using mod_rewrite to remove the page set this | |
| variable so that it is blank. | |
| | |
*/ | |
$config['index_page'] = ""; | |
$config['site_index'] = ""; | |
/* | |
|-------------------------------------------------------------------------- | |
| URI PROTOCOL | |
|-------------------------------------------------------------------------- | |
| | |
| This item determines which server global should be used to retrieve the | |
| URI string. The default setting of "AUTO" works for most servers. | |
| If your links do not seem to work, try one of the other delicious flavors: | |
| | |
| 'AUTO' Default - auto detects | |
| 'PATH_INFO' Uses the PATH_INFO | |
| 'QUERY_STRING' Uses the QUERY_STRING | |
| 'REQUEST_URI' Uses the REQUEST_URI | |
| 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO | |
| | |
*/ | |
$config['uri_protocol'] = 'PATH_INFO'; | |
/* | |
|-------------------------------------------------------------------------- | |
| URL suffix | |
|-------------------------------------------------------------------------- | |
| | |
| This option allows you to add a suffix to all URLs generated by CodeIgniter. | |
| For more information please see the user guide: | |
| | |
| http://codeigniter.com/user_guide/general/urls.html | |
*/ | |
$config['url_suffix'] = ''; | |
/* | |
|-------------------------------------------------------------------------- | |
| Default Language | |
|-------------------------------------------------------------------------- | |
| | |
| This determines which set of language files should be used. Make sure | |
| there is an available translation if you intend to use something other | |
| than english. | |
| | |
*/ | |
$config['language'] = 'english'; | |
/* | |
|-------------------------------------------------------------------------- | |
| Default Character Set | |
|-------------------------------------------------------------------------- | |
| | |
| This determines which character set is used by default in various methods | |
| that require a character set to be provided. | |
| | |
*/ | |
$config['charset'] = 'UTF-8'; | |
/* | |
|-------------------------------------------------------------------------- | |
| Enable/Disable System Hooks | |
|-------------------------------------------------------------------------- | |
| | |
| If you would like to use the "hooks" feature you must enable it by | |
| setting this variable to TRUE (boolean). See the user guide for details. | |
| | |
*/ | |
$config['enable_hooks'] = FALSE; | |
/* | |
|-------------------------------------------------------------------------- | |
| Class Extension Prefix | |
|-------------------------------------------------------------------------- | |
| | |
| This item allows you to set the filename/classname prefix when extending | |
| native libraries. For more information please see the user guide: | |
| | |
| http://codeigniter.com/user_guide/general/core_classes.html | |
| http://codeigniter.com/user_guide/general/creating_libraries.html | |
| | |
*/ | |
$config['subclass_prefix'] = 'EE_'; | |
/* | |
|-------------------------------------------------------------------------- | |
| Allowed URL Characters | |
|-------------------------------------------------------------------------- | |
| | |
| This lets you specify which characters are permitted within your URLs. | |
| When someone tries to submit a URL with disallowed characters they will | |
| get a warning message. | |
| | |
| As a security measure you are STRONGLY encouraged to restrict URLs to | |
| as few characters as possible. By default only these are allowed: a-z 0-9~%.:_- | |
| | |
| Leave blank to allow all characters -- but only if you are insane. | |
| | |
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! | |
| | |
*/ | |
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\\-'; | |
/* | |
|-------------------------------------------------------------------------- | |
| Enable Query Strings | |
|-------------------------------------------------------------------------- | |
| | |
| By default CodeIgniter uses search-engine friendly segment based URLs: | |
| example.com/who/what/where/ | |
| | |
| You can optionally enable standard query string based URLs: | |
| example.com?who=me&what=something&where=here | |
| | |
| Options are: TRUE or FALSE (boolean) | |
| | |
| The two other items let you set the query string "words" that will | |
| invoke your controllers and its functions: | |
| example.com/index.php?c=controller&m=function | |
| | |
| Please note that some of the helpers won't work as expected when | |
| this feature is enabled, since CodeIgniter is designed primarily to | |
| use segment based URLs. | |
| | |
*/ | |
$config['enable_query_strings'] = FALSE; | |
$config['directory_trigger'] = 'D'; | |
$config['controller_trigger'] = 'C'; | |
$config['function_trigger'] = 'M'; | |
/* | |
|-------------------------------------------------------------------------- | |
| Error Logging Threshold | |
|-------------------------------------------------------------------------- | |
| | |
| If you have enabled error logging, you can set an error threshold to | |
| determine what gets logged. Threshold options are: | |
| | |
| 0 = Disables logging, Error logging TURNED OFF | |
| 1 = Error Messages (including PHP errors) | |
| 2 = Debug Messages | |
| 3 = Informational Messages | |
| 4 = All Messages | |
| | |
| For a live site you'll usually only enable Errors (1) to be logged otherwise | |
| your log files will fill up very fast. | |
| | |
*/ | |
$config['log_threshold'] = 0; | |
/* | |
|-------------------------------------------------------------------------- | |
| Error Logging Directory Path | |
|-------------------------------------------------------------------------- | |
| | |
| Leave this BLANK unless you would like to set something other than the default | |
| system/logs/ folder. Use a full server path with trailing slash. | |
| | |
*/ | |
$config['log_path'] = ''; | |
/* | |
|-------------------------------------------------------------------------- | |
| Date Format for Logs | |
|-------------------------------------------------------------------------- | |
| | |
| Each item that is logged has an associated date. You can use PHP date | |
| codes to set your own date formatting | |
| | |
*/ | |
$config['log_date_format'] = 'Y-m-d H:i:s'; | |
/* | |
|-------------------------------------------------------------------------- | |
| Cache Directory Path | |
|-------------------------------------------------------------------------- | |
| | |
| Leave this BLANK unless you would like to set something other than the default | |
| system/cache/ folder. Use a full server path with trailing slash. | |
| | |
*/ | |
$config['cache_path'] = ''; | |
/* | |
|-------------------------------------------------------------------------- | |
| Encryption Key | |
|-------------------------------------------------------------------------- | |
| | |
| If you use the Encryption class or the Sessions class with encryption | |
| enabled you MUST set an encryption key. See the user guide for info. | |
| | |
*/ | |
$config['encryption_key'] = 'q7tup=aDrE5es!u@umAwa8-zu6H-&9#E'; | |
/* | |
|-------------------------------------------------------------------------- | |
| Global XSS Filtering | |
|-------------------------------------------------------------------------- | |
| | |
| Determines whether the XSS filter is always active when GET, POST or | |
| COOKIE data is encountered | |
| | |
*/ | |
$config['global_xss_filtering'] = FALSE; | |
/* | |
|-------------------------------------------------------------------------- | |
| CSRF Protection | |
|-------------------------------------------------------------------------- | |
| | |
| Determines whether Cross Site Request Forgery protection is enabled. | |
| For more info visit the security library page of the user guide | |
| | |
*/ | |
$config['csrf_protection'] = FALSE; | |
/* | |
|-------------------------------------------------------------------------- | |
| Output Compression | |
|-------------------------------------------------------------------------- | |
| | |
| Enables Gzip output compression for faster page loads. When enabled, | |
| the output class will test whether your server supports Gzip. | |
| Even if it does, however, not all browsers support compression | |
| so enable only if you are reasonably sure your visitors can handle it. | |
| | |
| VERY IMPORTANT: If you are getting a blank page when compression is enabled it | |
| means you are prematurely outputting something to your browser. It could | |
| even be a line of whitespace at the end of one of your scripts. For | |
| compression to work, nothing can be sent before the output buffer is called | |
| by the output class. Do not "echo" any values with compression enabled. | |
| | |
*/ | |
$config['compress_output'] = FALSE; | |
/* | |
|-------------------------------------------------------------------------- | |
| Master Time Reference | |
|-------------------------------------------------------------------------- | |
| | |
| Options are "local" or "gmt". This pref tells the system whether to use | |
| your server's local time as the master "now" reference, or convert it to | |
| GMT. See the "date helper" page of the user guide for information | |
| regarding date handling. | |
| | |
*/ | |
$config['time_reference'] = 'local'; | |
/* | |
|-------------------------------------------------------------------------- | |
| Rewrite PHP Short Tags | |
|-------------------------------------------------------------------------- | |
| | |
| If your PHP installation does not have short tag support enabled CI | |
| can rewrite the tags on-the-fly, enabling you to utilize that syntax | |
| in your view files. Options are TRUE or FALSE (boolean) | |
| | |
*/ | |
$config['rewrite_short_tags'] = TRUE; | |
/* | |
|-------------------------------------------------------------------------- | |
| Reverse Proxy IPs | |
|-------------------------------------------------------------------------- | |
| | |
| If your server is behind a reverse proxy, you must whitelist the proxy IP | |
| addresses from which CodeIgniter should trust the HTTP_X_FORWARDED_FOR | |
| header in order to properly identify the visitor's IP address. | |
| Comma-delimited, e.g. '10.0.1.200,10.0.1.201' | |
| | |
*/ | |
$config['proxy_ips'] = ""; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
Awesome, thanks!