.htaccess e non www
-
24-09-2019 - |
Domanda
Sto cercando di reindirizzare tutto il mio sito per non www
ecco il codice .htaccess sto usando
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# no www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.akorra\.com$ [NC]
RewriteRule ^.*$ http://akorra.com%{REQUEST_URI} [R=301,L]
tutte le idee
Soluzione
Credo che le regole devono tra i tag di modulo.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# no www
RewriteCond %{HTTP_HOST} ^www\.akorra\.com$ [NC]
RewriteRule ^.*$ http://akorra.com%{REQUEST_URI} [R=301,L]
# BEGIN WordPress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
</IfModule>
Altri suggerimenti
Ecco cosa è necessario aggiungere al tuo .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
Tuttavia, se si lavora con Wordpress come il motore che alimenta l'intero sito, basta aggiornare la struttura dei permalink e tutte le impostazioni interne con il tuo nome di dominio in esso per rimuovere il www.
EDIT:
Ho pensato che era diverso quando ho scritto la risposta Siamo spiacenti. Provare a spostare la regola non www alla parte superiore ...
# no www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.akorra\.com$ [NC]
RewriteRule ^.*$ http://akorra.com%{REQUEST_URI} [R=301s,L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
ANCORA tenere a mente se Wordpress è impostato su legami produrre con un www
allora niente lo fermerà dal ritorno tutto torna ad avere un www anche con una regola di riscrittura corretta.
Maggiori dettagli Wordpress:
Controllare le impostazioni nel wp/wp-admin/options-general.php
...
- Accertarsi di rimuovere il
www
inWordPress address (URL)
- Accertarsi di rimuovere il
www
inBlog address (URL)
E quindi aggiornare la struttura premalink in wp-admin/options-permalink.php
in modo che le modifiche si riflettono.
Dopo tutto ciò che è stato detto e fatto, essere sicuri di Wordpress non ha fatto il nuovo codice di sovrascrittura nel file .htaccess
.
Ciao Penso che è necessario regolare lo script come segue per la riscrittura di lavoro:
Options +FollowSymlinks
RewriteEngine on
Credo che i link simbolici successivi ha assolutamente essere inclusi per la riscrittura degli URL per funzionare correttamente.
Maggiori consigli su mod_rewrite qui:
http://www.askapache.com/htaccess/mod_rewrite : consigli-e-tricks.html
Rob
RewriteEngine On
RewriteBase /
# no www
RewriteCond %{HTTP_HOST} ^([^.]+)\.akorra\.com$ [NC]
RewriteRule ^(.*)$ http://akorra.com/$1 [R=301,L]
# WordPres
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Questo dovrebbe funzionare
Suggerisco di usare questo pezzo di codice per la rimozione di www dal tuo sito web:
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
è più generico.
e nel tuo esempio è meglio usare questo:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# no www
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
# BEGIN WordPress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
</IfModule>