...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
// REDIRECTS if (isset($_SERVER['PANTHEON_ENVIRONMENT'])) { if ($_SERVER['PANTHEON_ENVIRONMENT'] === 'live') { // Easily Change status code and base url for testing here: $host = 'headrfootr-my.kettering.gotpantheon.comedu'; $http_code = 'HTTP/1.0 303 See Other'; $redirect = FALSE; // Add URLS to skip this AKA 1-1: $skip = array( '/admissions/test', '/news/trill', ); // Set this to a var so we don't mess with doing all this fun stuff below. $uri = strtolower($_SERVER['REQUEST_URI']); // Redirect to legacy site based on set patterns, etc. if (!in_array($uri, $skip)) { // Wildcard $old Redirects. $wildcard = array( 'admissionsacademics', 'newsalumni-donors', 'researchcurrent-students', 'alumni-donorsdownloads', 'current-studentsemergency', 'faculty-staff', 'office-administrationfaculty', 'ferpa', 'emergencyit', 'academicsnews', );'office-administration', // Time to make the magic happen.'offices-administration', 'research', ); $uri_check = explode('/', $_SERVER['REQUEST_URI']); // CheckOne forto WildcardOne Redirectfrom firstwww.kettering.edu to my.kettering.edu if (isset($uri_check[1]) && in_array($uri_check[1], $old)) {$onetoone = array( '/archives', $redirect = TRUE; '/asc', } '/Atwood', '//brand', Redirect to specific legacy pages. '/businessOffice', elseif (isset($uri_check[1])) { '/career-services', '/cetl', switch ($uri_check[1]) { '/commencement', case 'alumni/communityservice':, '/currentstudents', $redirect = TRUE; '/deans-list', '/dining', $uri = '/alumni-donors/get-involved';emergency', '/employee-information', break; '/events', case 'directory/ferpa':, '/financialaid', $redirect = TRUE; '/financialAid', '/first', $uri = '/faculty-staff/directory';flintwater', '/get-word-out', break; '/give', case 'giving/greeklife':, '/hr', $redirect = TRUE;'/keepmekettering', '/library', $uri = '/givemarcomm';, '/nbs', break; '/Oldschool', case '/about/accreditation-and-assessment':phonathon', '/regbell', $redirect = TRUE;'/registrar', $uri = '/about/accreditation-and-assessment';'/sharing-memories-professor-bell', '/studentlife', break; '/trustee-rsvp', '/water', } '/wellness-center', } ); } // String IfMatch trueRedirects. above, lets have some fun$string_checks redirects= happen!array( if ($redirect) { '/about/accreditation-and-assessment', '/sites/default/files/resource-file-download', ); // Time to make the magic happen. $uri_check = explode('/', $_SERVER['REQUEST_URI']); // Check for Wildcard Redirect || 1 to 1 www to my first. if ((isset($uri_check[1]) && in_array($uri_check[1], $wildcard)) || (in_array($uri, $onetoone))) { $redirect = TRUE; } // Redirect to specific legacy pages or paths. elseif (isset($uri_check[1])) { // Change the URI or HOST based of the base uri path. switch ($uri_check[1]) { case 'alumni': $redirect = TRUE; $uri = '/alumni-donors/get-involved'; break; case 'directory': $redirect = TRUE; $uri = '/faculty-staff/directory'; break; case 'giving': $redirect = TRUE; $uri = '/give'; break; case 'aanouncements': $redirect = TRUE; $uri = '/announcements'; break; case 'partnerships': $redirect = TRUE; $uri = '/alumni-donors'; break; case '~': $redirect = TRUE; $host = 'paws.kettering.edu'; break; case 'ug-admitted': $redirect = TRUE; $host = 'accepted.kettering.edu'; break; case 'iamabulldog': $redirect = TRUE; $host = 'accepted.kettering.edu'; break; case 'admissions': // This was the easiest way to handle all the admissions ones. $redirect = TRUE; unset($uri_check[1]); $uri = implode('/', $uri_check); $host = 'www.kettering.edu'; break; } // Check for string paths. if (!$redirect) { foreach ($string_checks as $string_check) { if (strpos($uri, $string_check) !== FALSE) { $redirect = TRUE; } } } } } // If true above, lets have some fun redirects happen! if ($redirect) { header($http_code); header('Location: https://'. $host . $uri); exit(); } else { // Regular redirects to current site. $old = array( 'm.kettering.edu', 'admissions.kettering.edu', ); if ($_SERVER['PANTHEON_ENVIRONMENT'] === 'live' && $_SERVER['HTTPS'] === 'OFF') { if (!isset($_SERVER['HTTP_X_SSL']) || (isset($_SERVER['HTTP_X_SSL']) && $_SERVER['HTTP_X_SSL'] != 'ON')) { header($header); header('Location: https://www.kettering.edu' . $_SERVER['REQUEST_URI']); exit(); } } elseif ($_SERVER['PANTHEON_ENVIRONMENT'] === 'live' && in_array($_SERVER['HTTP_HOST'], $old)) { header($header); header('Location: https://www.kettering.edu'. $_SERVER['REQUEST_URI']); headerexit($http_code); } elseif header('Location: http://'. $host . $uri)($_SERVER['HTTP_HOST'] == 'my.kettering.edu') { $newurl = 'https://www.kettering.edu/faculty-staff'. $_SERVER['REQUEST_URI']; exitheader($header); } header("Location: $newurl"); else { // NORMAL PANTHEON BASE URL REDIRECT WILL GO HERE.exit(); } } } |
Full Settings.php Sample
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?php // all other defaults go here /* * settings for all environements */ // Avoid Image resize threshold error $conf['image_resize_filter_threshold'] = 1000; // 7.21+ image hack for text-area images // http://drupal.stackexchange.com/questions/63226/drupal-7-20-image-styles-return-a-url-with-access-denied $conf['image_allow_insecure_derivatives'] = TRUE; // if using PHP 5.5 as per https://pantheon.io/docs/articles/drupal/configuring-settings-php/#troubleshooting ini_set('arg_separator.output', '&'); /** * Perform web-only operations on Pantheon like redirects * the $_SERVER array will not exist for the drush-cli * see http://helpdesk.getpantheon.com/customer/portal/articles/708588 */ if (isset($_SERVER['PANTHEON_ENVIRONMENT'])) { /** * Redirect 404 config to the D6 site to hide D7 development * REMOVE ME ON LAUNCH */ $conf['redrect_404_search'] = 'http://www.mysite.com/search/apachesolr_search'; $conf['redirect_404_redirect'] = 'http://www.mysite.com'; $conf['redirect_404_servers'] = 'http://www.mysite.com'; if($_SERVER['PANTHEON_ENVIRONMENT'] === 'live') { // settings for launching Featured Events if($_SERVER['HTTP_HOST'] == 'live-mysite.gotpantheon.com'){ header('HTTP/1.0 301 Moved Permanently'); header('Location: http://new.mysite.com'. $_SERVER['REQUEST_URI']); exit(); } // Events Launch // Redirect all traffic from the "events" subdomain that is not going to // an /events/* URI back to www.mysite.com (legacy D6 site). if($_SERVER['HTTP_HOST'] === 'events.mysite.com' && !preg_match('/^\/events\/.+/', $_SERVER['REQUEST_URI']) && !preg_match('/^\/event-speaker-details\//', $_SERVER['REQUEST_URI']) && !preg_match('/^\/sites\/.+/', $_SERVER['REQUEST_URI']) ) { header('HTTP/1.0 303 Temporary Redirect'); header('Location: http://www.mysite.com'. $_SERVER['REQUEST_URI']); exit(); } // // full launch // if (in_array($_SERVER['HTTP_HOST'], array( // 'live-mysite.gotpantheon.com', // 'mysite.org', // 'www.mysite.org', // 'new.mysite.com', // 'mysite.com', // ))) { // header('HTTP/1.0 301 Moved Permanently'); // header('Location: http://www.mysite.com'. $_SERVER['REQUEST_URI']); // exit(); // } } if($_SERVER['PANTHEON_ENVIRONMENT'] === 'test') { if($_SERVER['HTTP_HOST'] == 'test-mysite.gotpantheon.com') { header('HTTP/1.0 301 Moved Permanently'); header('Location: http://test.mysite.com'. $_SERVER['REQUEST_URI']); exit(); } } if ($_SERVER['PANTHEON_ENVIRONMENT'] === 'dev') { // Error reporting error_reporting(-1); // Have PHP complain about absolutely everything. $conf['error_level'] = 2; // Show all messages on your screen ini_set('display_errors', TRUE); // These lines give you content on WSOD pages. ini_set('display_startup_errors', TRUE); if($_SERVER['HTTP_HOST'] == 'dev-mysite.gotpantheon.com') { header('HTTP/1.0 301 Moved Permanently'); header('Location: http://dev.mysite.com'. $_SERVER['REQUEST_URI']); exit(); } } } /** * Perform web and drush operations on Pantheon * see http://helpdesk.getpantheon.com/customer/portal/articles/708588 */ if (defined('PANTHEON_ENVIRONMENT')) { /** * Use Redis for caching AND performance settings * see http://helpdesk.getpantheon.com/customer/portal/articles/401317-redis */ $conf['redis_client_interface'] = 'PhpRedis'; $conf['cache_backends'][] = 'sites/all/modules/contrib/redis/redis.autoload.inc'; $conf['cache_default_class'] = 'Redis_Cache'; // Make sure that we don't have collisions by prefixing the cache keys per environment $conf['cache_prefix'] = array('default' => 'pantheon-redis-' . $_SERVER['PANTHEON_ENVIRONMENT'] ); // Do not use Redis for cache_form (no performance difference). $conf['cache_class_cache_form'] = 'DrupalDatabaseCache'; // Don't use Redis for Views cache, has caused some display issues. $conf['cache_class_cache_views'] = 'DrupalDatabaseCache'; $conf['cache_class_cache_views_data'] = 'DrupalDatabaseCache'; // Use Redis for Drupal locks (semaphore). $conf['lock_inc'] = 'sites/all/modules/contrib/redis/redis.lock.inc'; /** * Set some configuration settings for DEV, TEST, and LIVE */ // Cached page compression LIVE */ // Cached page compression - always off. $conf['page_compression'] = 0; // Minimum cache lifetime - always offnone. $conf['pagecache_compressionlifetime'] = 0; // Minimum cache lifetime - always none. Drupal caching in TEST and LIVE should mostly line up if (in_array(PANTHEON_ENVIRONMENT, array('test', 'live'))) { // Anonymous caching $conf['cache_lifetime'] = 01; } // DrupalSome cachingsettings in TEST and LIVEDEV should mostlybe linethe upsame if (in_array(PANTHEON_ENVIRONMENT, array('test', 'livedev'))) { // Anonymous caching rules or system messages can email users during testing unless we say no $conf['cachereroute_email_enable'] = 1; } // Some settings in TEST and DEV should be the same if (in_array Expiration of cached pages - none. $conf['page_cache_maximum_age'] = 0; } if (PANTHEON_ENVIRONMENT, array('test', == 'devlive'))) { // rules or system messages can email users during testing unless we say no Expiration of cached pages - 1 minute. $conf['page_cache_maximum_age'] = 60; //900 $conf['preprocess_css'] = 1; $conf['reroutepreprocess_email_enablejs'] = 1; // Expiration of cached pages - none. $conf['page_cache_maximum_age$conf['css_gzip_compression'] = TRUE; // $conf['js_gzip_compression'] = 0;TRUE; } if (PANTHEON_ENVIRONMENT == 'test') { } if (PANTHEON_ENVIRONMENT == 'livedev') { // ExpirationDisable ofcaches cachedfor pages - 1 minute.easier debugging $conf['page_cache_maximum_age'] = 600; //900 $conf['preprocess_css'] = 10; $conf['preprocess_js'] = 10; // $conf['csspage_cache_gzipmaximum_compressionage'] = TRUE0; // $conf['js_gzip_compression'] = TRUE; } if (PANTHEON_ENVIRONMENT == 'test') { } if (PANTHEON_ENVIRONMENT == 'dev') { // Anonymous caching. $conf['cache'] = 0; $conf['preprocess_css'] = 0; $conf['preprocess_js'] = 0Have PHP complain about absolutely everything. $conf['error_level'] = 2; // Show all messages on your screen ini_set('display_errors', TRUE); // These lines give you content on WSOD pages. ini_set('display_startup_errors', TRUE); } } /* perform 301 redirects */ // // print_r($_SERVER); // if($_SERVER['REQUEST_URI'] == '/path/one') { // header('HTTP/1.0 301 Moved Permanently'); // header('Location: /path/two'); // exit(); // } // /** * Terminatur * * These local settings were generated by terminatur. * You may see them if you use Kalastack, Kalabox, Proviso or other local dev * tools. * */ if (isset($_SERVER['KALABOX']) && $_SERVER['KALABOX'] === 'on') { // DB Array and some common conf. $databases['default']['default'] = array( 'driver' => 'mysql', 'database' => 'mysite_kala', 'username' => 'root', 'password' => 'password', 'host' => 'localhost', 'port' => '3306', 'prefix' => '', ); // Set some common desirable local vars. $conf['file_temporary_path'] = '/tmp'; $conf['file_public_path'] = 'sites/default/files'; $conf['file_private_path'] = 'sites/default/files/private'; $conf['reroute_email_enable'] = 1; $conf['cache'] = 0; $conf['css_gzip_compression'] = FALSE; $conf['js_gzip_compression'] = FALSE; $conf['preprocess_css'] = 0; $conf['preprocess_js'] = 0; $conf['site_name'] = 'mysite Local'; $conf['cron_last'] = '9999999999'; } |
...
Here is an example of D6 settings (note Habitat isnt available for D^D6, but you can do module disable/enable through the settings.php:
...