问题
Is it possible to put a magento site under an maintenance flag so that visitors will get a message that the site is under construction? I can't find this setting in the admin area.
Another solution will also be welcome.
Any help would be appreciated.
Thank you.
回答1:
I use this often. http://inchoo.net/ecommerce/magento/maintenance-mode-in-magento/
The important part is:
Open: index.php in root and above line 57 add (remembering to edit the ‘allowed’ array to contain the IP’s you want to be able to access the site);
$ip = $_SERVER['REMOTE_ADDR']; $allowed = array('1.1.1.1','2.2.2.2'); // these are the IP's that are allowed to view the site.
then change the line
if (file_exists($maintenanceFile)) {
to
if (file_exists($maintenanceFile) && !in_array($ip, $allowed)) {
回答2:
To enable maintenance mode in Magento, just create empty maintenance.flag file in the root of your Magento store.
回答3:
Just add a blank file called maintenance.flag to your root.. job done
A neater solution is to use this extension.
it allow you to set the store up so that once logged into the back end you have access to the front + a few other neat features
回答4:
Thats what I add to the index in order to be able to continue working from different IPs:
//EGS to show a maintenance page but be able to work
$ip = $_SERVER['REMOTE_ADDR'];
// these are the IP's that are allowed to view the site:
$allowed = array('111.111.111.111', '222.222.222.222');
if (file_exists($maintenanceFile) && !in_array($ip, $allowed)) {
include_once dirname(__FILE__) . '/errors/503.php';
exit;
}
回答5:
The following would work with an apache installation (need to check with others).
You could create your own custom site under maintenance html page say index.html
and place it in the root directory of your installation.
Open the .htaccess
folder and rename the default page from index.php
to index.html
. Restart Apache. Once you are done rename the default page back to index.php
.
It should work.
回答6:
These are good modules to put your magento sites into maintaince mode anytime you want. http://www.magentocommerce.com/magento-connect/store-maintenance.html
OR
If you want fun with working on the code then create maintaince.flag
file which put your site into maintaince mode. And if you want to change the template of it then goto
errors/default/503.phtml
file. Just change the design of it.
This is a simple solution.
回答7:
You may check this article, it has info about puting store to the maintenance for several IPs and have some working examples and needed files:
http://blog.magalter.com/page/how-to-temporarily-block-magento-store-access-put-website-to-maintenance-mode
回答8:
I followed this tutorial to put my Magento store to maintenance mode, you may try as below:
Create a file name maintenance.flag in your magento root directory. Contents under this file doesn’t matter, you can keep it empty.
Change the maintenance file (located in magento root -> errors -> default directory) to show proper message when user visits your website. Hop this helps
回答9:
Check out this http://www.magentocommerce.com/magento-connect/all4coding-offline-maintenance-page.html it provide exactly what you are looking for. compatible with magento 1.4 - 1.8.
You can also display the maintenance page with your design theme.
回答10:
Magento has maintenance.flag support built in. Check this out from
http://www.nicksays.co.uk/2010/07/enabling-magento-maintenance-mode/
回答11:
I followed this tutorial http://magentoexplorer.com/how-to-show-and-customize-magento-maintenance-mode-page to enable maintenance mode page in Magento, you need to create and upload maintenance.flag file to Magento root folder, however there are some more step for a good Maintenance mode like.
Add exception during maintenance (allow specific IP to visit your site during maintenance). In index.php, add these lines
$ip = $_SERVER['REMOTE_ADDR']; $allowed = array('x.x.x.x','y.y.y.y');
- Edit maintenance mode page Edit maintenance mode page in /errors/default/503.phtml Remove wrap in /errors/default/page.phtml
Hope this helps.
回答12:
If you need to put Magento in maintenance mode only in frontend, leaving admin enabled for authentication you can try these steps:
- Open index.php (from Magento root installation)
Search for the content below (around line 63):
if (file_exists($maintenanceFile)) {
Replace for:
if (file_exists($maintenanceFile) && !preg_match('/^\/(admin|index.php\/admin)/', $_SERVER['REQUEST_URI'])) {
Create a blank file named maintenance.flag in your Magento root installation:
$ touch maintenance.flag
This solution was inspired in the maintenance mode used in Opencart that uses the same behavior.
回答13:
Create an empty maintenance.flag file in the root of your Magento store.
来源:https://stackoverflow.com/questions/4201077/how-to-put-magento-in-maintenance