使用带有.htaccess的301重定向重定向404s

时间:2015-01-21 17:10:57

标签: .htaccess mod-rewrite redirect

我正在编辑的.htaccess文件包含以下代码,用于将http://www.example.com重定向到http://example.com

AddHandler fcgid54-script .php
# 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>

# END WordPress    

如果不从头开始编写新的.htaccess文件,我希望重定向一些返回404的其他页面。我尝试了以下但是它没有工作:

AddHandler fcgid54-script .php
# 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>

301 Redirect /blank/blah/page/ http://example.org/blank/blah/

# END WordPress

我还尝试过其他一些迭代,但到目前为止还没有任何工作。

2 个答案:

答案 0 :(得分:1)

不要将mod_rewrite规则与mod_alias个规则混合,并在内部WP规则之前保留301:

AddHandler fcgid54-script .php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^blank/blah/page/?$ http://example.org/blank/blah/ [L,NC,R=301]

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

答案 1 :(得分:0)

尝试一下它会起作用:

ErrorDocument 404 http://www.example.com/abc.html

通过在htaccess文件中添加此行,返回404的页面将转发到指定的URL。例如http://www.example.com/abc.html