.htaccess RewriteRule附加旧的Wordpress目录路径

时间:2013-03-09 13:22:37

标签: wordpress apache .htaccess mod-rewrite rewrite

使用Wordpress的Debian / Apache VPS。 我试图使用此代码将所有“www”网址重定向到非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/example site.net/site.net/example - 我停用了所有WP插件以再次检查但没有效果。

以前我的WP安装路径是/var/www/site.net/但我把它移到/ var / www / 我的/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>

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

1 个答案:

答案 0 :(得分:1)

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

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