Chcete-li změnit adresu URL stránky zobrazené ve výsledcích vyhledávání, společnost Google doporučuje použít Redirect 301. To je nejlepší způsob, jak zajistit, aby vyhledávače a uživatelé byli směrováni na správnou stránku, a také se chránit před ztrátou množství přenesených dat z vyhledávačů.
Chcete-li povolit přesměrování aplikace Apache, musíte povolit mod_rewrite
:
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
Aby změny začaly platit, restartujte webový server Apache:
apache2ctl restart
Přidat do souboru .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.sitename\.com$ [NC]
RewriteRule ^(.*)$ http://sitename.com/$1 [R=301,L]
Buď:
RewriteEngine On
Redirect 301 / http://sitename.com/
Nejlepší věc, kterou musíte udělat, je přesměrování pomocí vhost-s
.
vhost je virtuální host pro doménu. Začíná se sekcí server {
a může být přímo zadán do hlavního konfiguračního souboru nginx.conf
nebo jako samostatný soubor, například: include sites-enabled/*.conf;
Pokud nechcete přesně směrovat na stránky www nebo non-www, můžete učinit tak:
server {
listen x.x.x.x:80;
server_name sitename.com;
server_name www.sitename.com;
return 301 https://$server_name$request_uri;
}
Pokud potřebujete přesměrovat pravě na www nebo non-www.
Přesměrování na stránku www.sitename.com:
server {
listen x.x.x.x:80;
server_name sitename.com;
server_name www.sitename.com;
return 301 https://www.sitename.com$request_uri;
}
Pokud potřebujete přesměrování pravě na non-www:
server {
listen x.x.x.x:80;
server_name sitename.com;
server_name www.sitename.com;
return 301 https://sitename.com$request_uri;
}
Pokud potřebujete přesměrovat z https non-www na https: // www. :
server {
listen x.x.x.x:443 ssl http2;
server_name sitename.com;
ssl_certificate /path/to/cert.....;
ssl_certificate_key /path/to/key...;
return 301 https://www.sitename.com$request_uri;
}
server {
listen x.x.x.x:443 ssl http2;
server_name www.sitename.com;
ssl_certificate /path/to/cert.....;
ssl_certificate_key /path/to/key...;
root /path/to/docroot;
...
...
}
Implementovat přesměrování v rámci jednoho vhost, pokud není možné použít více (například ovladácí panel je použita na serveru):
server {
listen x.x.x.x:80;
listen x.x.x.x:443 ssl http2;
server_name www.domain.com;
ssl_certificate /path/to/cert.....;
ssl_certificate_key /path/to/key...;
root /path/to/docroot;
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
...
...
}