.htaccess重写规则附加旧的Wordpress目录路径

.htaccess重写规则附加旧的Wordpress目录路径,wordpress,apache,.htaccess,mod-rewrite,rewrite,Wordpress,Apache,.htaccess,Mod Rewrite,Rewrite,使用Wordpress的Debian/Apache VPS。 我试图使用此代码将所有“www”URL重定向到非www地址: # Redirect if www.site.net (case-insensitive) to site.net RewriteCond %{HTTP_HOST} ^www\.site\.net [NC] RewriteRule (.*) http://site.net/$1 [R=301,L,NC] 但这会意外地将www.site.net重定向到site.net/si

使用Wordpress的Debian/Apache VPS。 我试图使用此代码将所有“www”URL重定向到非www地址:

# Redirect if www.site.net (case-insensitive) to site.net
RewriteCond %{HTTP_HOST} ^www\.site\.net [NC]
RewriteRule (.*) http://site.net/$1 [R=301,L,NC]
但这会意外地将www.site.net重定向到site.net/site.net,并且 www.site.net/examplesite.net/site.net/example-我停用了所有WP插件以再次检查,但没有任何效果

以前我的WP安装路径是/var/www/site.net/,但我将其移动到了/var/www/ My/etc/apache2/sites available/site.net如下所示:

<VirtualHost *:80>
 ServerName site.net
 ServerAlias www.site.net
 DocumentRoot /var/www
 DirectoryIndex index.php
 <Directory /var/www/>
   Options FollowSymLinks
   AllowOverride All
 </Directory>
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ServerName站点.net
ServerAlias www.site.net
DocumentRoot/var/www
DirectoryIndex.php
选项如下符号链接
允许超越所有
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合

请告知,我需要做什么才能使它正常工作?

您最好的选择是在配置文件中创建一个新的virtualhost,用于重定向。它比使用mod_重写更有效,也更容易阅读正在发生的事情

# to do the redirection
<VirtualHost *:80>
  ServerName www.site.net
  RedirectMatch permanent (.*) http://site.net$1
</VirtualHost>

# actual website
<VirtualHost *:80>
  ServerName site.net
  DocumentRoot /var/www/
  # .. etc .. 
</VirtualHost>
#执行重定向
服务器名www.site.net
重定向匹配永久(.*)http://site.net$1
#实际网站
ServerName站点.net
DocumentRoot/var/www/
# .. 等

WP设置中的我的Wordpress和网站URL都指向感谢!这对我有用。但我仍然担心htaccess会给我带来更多麻烦(例如,我正在尝试设置feedurl到feedburner重定向,但它不会重定向到任何地方(相同的url).你知道问题发生的原因吗?问得好-我刚刚在我的机器上测试了你的代码,它正按照你的预期工作。你使用的是什么版本的apache?我使用的是2.2.22