Htaccess重定向301无法正常工作

时间:2015-09-22 08:34:52

标签: apache .htaccess mod-rewrite redirect

我想将旧域名301重定向到新域名,并将旧页面编入索引的新页面。这是代码:

ErrorDocument 404 /404.html
Options +FollowSymLinks

RewriteEngine on
RewriteRule ^%D8%AB%D8%A8%D8%AA-%D8%B1%D8%AA%D8%A8%D9%87-%D8%A7%D9%84%DA%A9%D8%B3%D8%A7/?$ http://newdomain.com/%D8%AB%D8%A8%D8%AA-%D8%B1%D8%AA%D8%A8%D9%87-%D8%A7%D9%84%DA%A9%D8%B3%D8%A7 [R=301,L,NC]
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
RewriteRule ^ http://newdomain.com%{REQUEST_URI} [L,R=301]

但两个都不起作用......任何解决方案?

1 个答案:

答案 0 :(得分:1)

  1. 请勿将mod_rewrite规则与mod_alias规则
  2. 混合使用
  3. 在通用的全部重定向之前保留特定的重定向。
  4. 你可以将它作为:

    RewriteEngine on
    
    RewriteRule ^\xD8\xAB\xD8\xA8\xD8\xAA-\xD8\xB1\xD8\xAA\xD8\xA8\xD9\x87-\xD8\xA7\xD9\x84\xDA\xA9\xD8\xB3\xD8\xA7/?$ /foo-bar [R=301,L]
    
    RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
    RewriteRule ^ http://newdomain.com%{REQUEST_URI} [L,R=301]