重定向404至搜索页面



Becuse在谷歌网站管理员中我有550000个未找到的页面-404-我想重定向到搜索页面。

对于用户来说,要成为用户犯规,需要转到搜索页面,但对我来说真的很复杂,因为我需要从404 url中提取搜索短语:

以下是2种类型的url,有404个错误,需要重定向。

  • 域/电影/12298295-龙曼-3

    域/系列/15108《行尸走肉》/季/3/集/10

关于corse,我需要提取电影或系列的名称并重定向到此url

  • 域/搜索?q=铁人3号

    域/搜索?q=行尸走肉


这是按部分列出的URL:对于"电影"只有4个部分:

  • 域名-的corse,是网站的域名

    /电影/-基于内容类型(电影或系列)创建

    12298295-是此项目的ID,可以是-1-到无限

    铁人三号-电影的名字(这是我想要的)

对于"系列"-和电影一样,但最后可以有更多的部分,完整的URL可以是:(所有这些URL,对于一个没有404的普通页面,都可以)

  • 域名/系列/15108《行尸走肉》/季/3/集/10-链接到集页面

    域/系列/15108行尸走肉/季节/3/-链接到一些季节页面

    域/serie/15108行尸走肉/-链接到此系列的首页


请注意,我需要重定向这个url,如果结果是404页面(ErrorDocument 404),因为所有页面都使用相同类型的url。

这是我实际的.htaces

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>
    RewriteEngine On
    RewriteCond %{THE_REQUEST} /index.php [NC]
    RewriteRule ^(.*?)index.php[^/] /$1? [L,R=301,NC,NE]
    RewriteCond %{THE_REQUEST} /index.php [NC]
    RewriteRule ^(.*?)index.php(?:/(.*))?$ /$1$2? [L,R=301,NC,NE]
    RewriteCond %{QUERY_STRING} ^q= [NC]
    RewriteRule ^busquedab /busquedas [R=301,L,QSA]
    # Redirect Trailing Slashes...
    RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC] 
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 
    RewriteRule ^(.*)/$ /$1 [L,R=301]
    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

非常感谢您的帮助

以下内容适用于电影和连续剧:

RewriteRule ^(?:movie|serie)/d+-([^/]+) /search?q=$1 [R=301,L,NC]

最新更新