使用.htaccess重定向到新网址

时间:2015-05-12 15:24:11

标签: apache .htaccess mod-rewrite redirect

我正在尝试进行网址重定向,但我使用.htaccess文件的方式似乎无法正常工作。我需要使用特定的地点或格式进行重定向吗?

下面是我的.htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Redirect 301 /research/report-listings/ http://example.com/research/research-portfolio/

# END WordPress

# BEGIN wtwp_cache
# END wtwp_cache

# BEGIN wtwp_security
# END wtwp_security

2 个答案:

答案 0 :(得分:3)

您可能不希望将mod_alias指令与mod_rewrite指令混合使用。这两个模块最终都会应用于同一个请求,最终可能会出现一些不稳定的重定向。如果你有像Wordpress这样的规则,最好只使用mod_rewrite。

注意:订单非常重要

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^research/report-listings/(.*)$ http://example.com/research/research-portfolio/$1 [L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

答案 1 :(得分:0)

尝试将Redirect指令放在<IfModule mod_alias.c>...</IfModule>块中。然后,确保已安装并启用mod_alias.c

apache2ctl -M  #This is for Linux systems