Knowledge base
1000 FAQs, 500 tutorials and explanatory videos. Here, there are only solutions!
This guide concerns the homepage names that can be used on your Web Hosting Infomaniak, and which will be prioritized when a visitor accesses your website via its domain name.
Regarding Site Creator, refer to this other guide.
Preamble
- The default homepages on a web server are the first pages that display when a user accesses a website without specifying a particular file.
- If you simply enter
http://domain.xyz
in your browser's address bar, the web server will look for a default home page to display, for exampleindex.html
,index.php
,index.htm
, or other similar variations.
Homepage priority order
Here are the default pages loaded in order of priority at Infomaniak:
- index.html
- index.htm
- home.html
- home.htm
- default.html
- default.htm
- index.cgi
- index.php
- index.php5
- index.php4
- index.php3
- default.php
- home.php
- welcome.php
In summary:
- If you have 2 pages at the root of your hosting, thanks to the ranking above, you will notice that
index.php
is recognized as a priority overwelcome.php
. - It can also be deduced that if you only have
welcome.php
as a page in the root folder, it will be loaded and function as the homepage. - If you have a page
accueil.html
, it will not work because this name is not on the list. - When you type
www.domaine.xyz
into the browser, onlyindex.php
will automatically display (and to displaywelcome.php
you will need to type the exact page namewww.domaine.xyz/welcome.php
).
Customize the default homepage
To set a different default home page, add DirectoryIndex
followed by the appropriate pages in the .htaccess
file:
DirectoryIndex accueil.html index.php index.html
This means that the web server will first look for a file named accueil.html
. If it does not find accueil.php
, it will look for index.php
, then index.html
.
To avoid an error “Create a database: no privilege” you must go through the Manager Infomaniak and not through phpMyAdmin
to add a new database.
This guide explains how to obtain information about the presence of a caching system on a site using the curl
command.
Introduction
- In the world of programming and system administration, it is often necessary to determine if a website uses a caching system to improve its performance.
- Caching systems like Fastly are commonly used to temporarily store data to serve it faster to users.
- By following these steps, you will be able to determine if a website uses a caching system to improve its performance and understand the operation and optimization of sites.
Using the curl command
curl
is a command-line tool for transferring data using URLs.
The option -svo /dev/null
is used to perform a silent request (-s
), display detailed information about the request (-v
), and redirect the output data to /dev/null
to ignore it (/dev/null is a special device on Unix/Linux systems that behaves like a trash can). -H "Fastly-Debug: true"
is an HTTP header added to the request to ask for debugging information specific to Fastly.
Run the command
Run the following command from a terminal application (command line interface, CLI) on your device:
curl -svo /dev/null [url] -H “Fastly-Debug: true”
and replace [url]
with the address of the website you want to check.
If the site uses Fastly or another similar caching system, you will see specific debugging information in the command output. The details provided may include information about HTTP requests and responses, as well as information about the cache and performance.
This guide explains how to enable the MultiViews option via a .htaccess
file on sites hosted by Infomaniak.
Preamble
- In some cases, the MultiViews option must be enabled to handle redirection and URL rewriting issues. Example:
- If the
configuration
folder and theconfiguration.php
file are located at the root of your site and you try to access the addressmon-site.com/configuration
to reach theconfiguration.php
file, the MultiViews option must be enabled.
- If the
Enable the MultiViews option
To do this:
- Open or create the
.htaccess
file located at the root of the relevant site. Add the following directive:
Options +MultiViews
- Save the changes.
This guide concerns ImageMagick, a powerful solution for image manipulation, which you can install on a Web Hosting Infomaniak.
For installation, the easiest way is to use Fast installer.
ImageMagick and alternatives
These image manipulation solutions are compatible with Web Hosting and Cloud Servers:
ImageMagick
: the main software suite for versatile image manipulation via the command linePerlMagick
: Perl interface to integrate ImageMagick functionalities into Perl scripts- Perl Module
Image::Magick
: Perl extension to access ImageMagick features without specifying the absolute path of the executable GD 2.x
: open-source graphics library offering similar functionalities to ImageMagick, often used in web development contextsGallery 2
: an online image gallery management platform compatible with ImageMagick
If necessary, the path for ImageMagick is standard since it is installed through the Debian repository:
/usr/bin
and for the Perl module Image::Magick
:
/usr/local/bin/convert
or without specifying the absolute path:
$ perl -e 'use Image::Magick';
All ImageMagick commands are under /usr/bin/
:
/usr/bin/animate
/usr/bin/compare
/usr/bin/composite
/usr/bin/conjure
/usr/bin/convert
/usr/bin/display
/usr/bin/identify
/usr/bin/import
/usr/bin/mogrify
/usr/bin/montage
/usr/bin/stream
This guide details "502 Bad Gateway" errors that can occur when visiting a website.
Introduction
- The 502 Bad Gateway error occurs when the server acting as a gateway between the browser and the origin web server receives an invalid response.
- This error can be caused by an overloaded web server, communication issues between a CDN and the hosting web server, or a misconfigured proxy server.
- Sometimes, the error may be caused by a bad entry in the DNS server.
Troubleshooting steps
To resolve the 502 Bad Gateway error, you often need to troubleshoot by elimination:
- Check if the server is not temporarily overloaded: simply reload the page after a few minutes for the error to disappear.
- Clear the browser cache.
- Try using another browser.
This guide explains how to view file activity on the server of your hosting Infomaniak.
FTP activity logs
To find out about the activity of exchanges on your FTP space, contact Infomaniak support to request FTP logs by first authenticating with the credentials corresponding to the management of your web hosting.
Help reading logs: http://www.castaglia.org/proftpd/doc/xferlog.html
The owner "site1xxx
" (e.g. site1152
, site1163
, site1184
…) appears when the FTP user account that created the folders/files in question has been removed from the list of FTP user accounts.
To access these files again in order to modify them, you need to log in with a different FTP account in the FTP File Manager and change the owner of the files with the "Properties" button.
This guide explains how to optimize web resource caching using HTTP headers.
Introduction
- A good caching strategy significantly improves your site's performance by avoiding the unnecessary retransmission of unchanged files.
- Web caching relies on two complementary mechanisms:
- The cache validity duration (via the
Expires
header) which indicates how long a resource can be reused without contacting the server. - Conditional validation (via the
Last-Modified
/If-Modified-Since
headers) which allows checking if a resource has changed before re-downloading it.
- The cache validity duration (via the
Configuration of cache duration with Expires
The Expires
header allows you to specify a duration during which the browser can directly reuse resources from its local cache. Here's how to configure it in your .htaccess
file:
- Create or open the
.htaccess
file at the root of your site (usually in/web
or/sites/domain.xyz
). Add the configuration for the
expires
module:<IfModule mod_expires.c>
Set the appropriate cache durations for each type of resource:
ExpiresActive On ExpiresByType text/html "access plus 1 week" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month"
These directives mean that:
- HTML pages will be cached for one week.
- JPEG images, CSS files and JavaScript files will be kept for a month.
Adjust these durations according to the frequency of updates to your resources.
Close the configuration section:
</IfModule>
Conditional validation with Last-Modified
Even when a resource has expired in the cache, it is not always necessary to completely redownload it. The conditional validation mechanism allows the browser to check if its cached version is still up-to-date. This process works as follows:
- The server automatically sends a
Last-Modified
header with each resource, indicating its last modification date.- Apache handles this natively for static files - no additional configuration is required.
When the browser requests the resource again, it sends a
If-Modified-Since
header containing the date it has in cache:GET /resource HTTP/1.1 Host: www.example.com If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT
- The server compares this date with the actual file modification date:
- If the file has not changed, it simply returns a
304 Not Modified
code, thus saving bandwidth. - If the file has been modified, it returns the new version with a
200 OK
code.
- If the file has not changed, it simply returns a
This guide explains how to configure the PHP parameters of Web hostings directly from the command line when you run PHP scripts using PHP CLI (Command Line Interface).
Preamble
- This type of configuration can be useful when you need to temporarily modify certain parameters for a specific script or for a PHP session.
- These changes will only be valid for the current script execution and will not alter the global PHP configuration.
Modify the PHP CLI parameters
For example, to temporarily modify the parameters for a specific script without having to modify the configuration PHP of the server, follow the method below; with the PHP CLI environment you can specify multiple PHP parameters at the same time by separating them with spaces.
Using the parameter -d
When you run PHP from the command line, you can use the parameter -d
to specify PHP configurations. This allows you to modify the PHP parameters for that specific execution. For example, to set the maximum execution time to 90 seconds, the memory limit to 256 MB and disable secure mode, you can do it as follows:
php -d max_execution_time=90 -d memory_limit=256M -d safe_mode=Off -f test.php