我想向我的整个网站的非www

这里是不喜欢这里的代码,我在使用

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

其他提示

这里是什么你需要添加到你的.要

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

然而,如果使用的内容的引擎的权力,整个网站,只是更新的永久结构的所有内部设置与域名称中删除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

又铭记新设置到生产链接 www 然后什么也不会阻止它的恢复的一切回到具有www即使有一个正确的重写规则。

更Wordpress的详细信息:

检查设置在 wp/wp-admin/options-general.php ...

  • 一定要删除的 wwwWordPress address (URL)
  • 一定要删除的 wwwBlog address (URL)

然后更新你的premalink结构 wp-admin/options-permalink.php 这样的改变反映。

毕竟,这就是说,做,以确保Wordpress没有复盖的新代码 .htaccess 文件。

您好我想你需要重写工作如下调整你的脚本:

Options +FollowSymlinks
RewriteEngine on

我相信后续的符号链接绝对必须包括URL重写工作正常。

这里mod_rewrite的更多的建议:

http://www.askapache.com/htaccess/mod_rewrite - 提示 - 和 - 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