Вопрос

Я пытаюсь перенаправить весь свой сайт для неистека

Вот код HTACCESS, я использую

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

есть идеи

Это было полезно?

Решение

Я думаю, что ваши правила надо между тегами модуля.

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

Другие советы

Вот что вам нужно добавить в свою .htaccess

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

Однако, если вы работаете с WordPress в качестве двигателя, который включает весь ваш сайт, просто обновите структуру постоянной ссылки и все внутренние настройки с именем доменного имени, чтобы удалить WWW.

РЕДАКТИРОВАТЬ:

Я думал, что это отличается, когда я написал ответ, извините. Попробуйте переместить ваше не www правило наверх ...

# 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

Снова имейте в виду, если WordPress установлен для создания ссылок с www Тогда ничто не остановит его от возвращения всего обратно, чтобы иметь WWW даже с правильным правилом перезаписи.

Больше деталей WordPress:

Проверьте настройки в wp/wp-admin/options-general.php ...

  • Обязательно удалите www в WordPress address (URL)
  • Обязательно удалите www в Blog address (URL)

А затем обновить свою премлинк структуру в wp-admin/options-permalink.php Таким образом, изменения отражены.

Ведь это сказано и сделано, убедитесь, что WordPress не перезаписал новый код в вашем .htaccess файл.

Привет, я думаю, вам нужно настроить свой скрипт следующим образом для переписывания на работу:

Options +FollowSymlinks
RewriteEngine on

Я считаю, что следующие симликовые ссылки абсолютно должны быть включены для переписывания URL для правильной работы.

Больше советов по Mod_rewrite здесь:

http://www.askapache.com/htaccess/mod_rewrite-tips-and-tricks.html.

Ограбить

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]

Это должно работать

Предлагаю использовать этот кусок кода для удаления WWW с вашего сайта:

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

Это более общий.

И в вашем примере лучше всего использовать это:

<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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top