Frage

Ich versuche, meine ganze Seite nicht-www

zu umleiten

Hier ist der .htaccess-Code Ich bin mit

# 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]

irgendwelche Ideen

War es hilfreich?

Lösung

Ich denke, Ihre Regeln müssen zwischen dem Modul Tags.

<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>

Andere Tipps

Hier ist, was Sie in der .htaccess hinzufügen müssen

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

Wenn Sie jedoch mit Wordpress als Motor arbeiten, mit der die gesamten Website, sondern nur die Permalink-Struktur aktualisieren und alle internen Einstellungen mit Ihren Domain-Namen in den www zu entfernen.

EDIT:

Ich dachte, dass anders war, als ich die Antwort geschrieben Tut mir Leid. Versuchen Sie, Ihre nicht www Regel nach oben zu bewegen ...

# 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

AGAIN im Auge behalten, wenn Wordpress zu produzieren Verbindungen mit einem www gesetzt ist, dann wird nichts sie stoppen zurückkehrt alles wieder ein www sogar mit einer richtigen Rewrite-Regel zu haben.

Weitere Details Wordpress:

Überprüfen Sie die Einstellungen in wp/wp-admin/options-general.php ...

  • Seien Sie sicher, dass die www in WordPress address (URL) entfernen
  • Seien Sie sicher, dass die www in Blog address (URL) entfernen

und dann premalink Struktur in wp-admin/options-permalink.php aktualisieren, damit die Änderungen widerspiegeln.

Nach allem, was gesagt und getan ist, sollten Sie Wordpress hat nicht überschreiben neuen Code in Ihrer .htaccess Datei.

Hallo, ich glaube, Sie müssen Ihr Skript anpassen, wie für das Umschreiben zur Arbeit folgt:

Options +FollowSymlinks
RewriteEngine on

Ich glaube, dass die Folge Symlinks unbedingt einbezogen werden muss, für url richtig an der Arbeit neu zu schreiben.

Weitere Ratschläge zum mod_rewrite hier:

http://www.askapache.com/htaccess/mod_rewrite -Tipps-and-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]

Das sollte funktionieren

Ich schlage vor, dieses Stück Code zu verwenden, für www von Ihrer Website zu entfernen:

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

es ist mehr generisch.

und in Ihrem Beispiel ist es am besten, diese zu verwenden:

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top