在谷歌网站管理员中我有550.000找不到页面 - 404 - 我想对搜索页面进行一些重定向。
要成为用户的用户犯罪,需要转到搜索页面,但对我来说真的很复杂,因为我需要从404网址中提取搜索短语:
以下是包含404错误的2种类型的网址,需要重定向。
DOMAIN /电影/ 12298295 - 铁 - 曼-3
DOMAIN /系列/ 15108-的行走-死/季节/ 3 /次/ 10
对于科西嘉,我需要提取电影的 JUST THE NAME ,或者系列并重定向到此网址
DOMAIN /搜索Q =铁曼-3
DOMAIN /搜索Q =的行走-死
这是按部分划分的网址: 对于电影"只有4个部分:
DOMAIN - corse,是网站的域名
/ movie / - 基于内容类型(电影或系列)
创建12298295-是此项目的ID,可以是表格 - 1 - 到 无限
Iron-Man-3 - 电影的名字(我想要得到的)
对于"系列" - 像电影一样,但最后可以有更多的部分,完整的URL可以是:(所有这个网址,对于没有404的普通网页,都可以)
DOMAIN / serie / 15108-The-Walking-Dead / seasons / 3 / episodes / 10 - 链接到剧集页面
DOMAIN / serie / 15108-The-Walking-Dead / seasons / 3 / - 链接到某个季节页面
DOMAIN / serie / 15108-The-Walking-Dead / - 链接到本系列的TOP页面
请注意,我需要重定向此网址,如果结果是404页面(错误文档404),那么因为所有网页都使用相同类型的网址。
这是我的实际.htacces
<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 ^busqueda\b /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>
非常感谢你的帮助
答案 0 :(得分:0)
以下内容适用于电影和连续剧:
RewriteRule ^(?:movie|serie)/\d+-([^/]+) /search?q=$1 [R=301,L,NC]