在谷歌網站管理員中找到我有550.000找不到頁面 - 404 - 我想對搜索頁面進行一些重定向。重定向404到搜索頁面
爲了給用戶是userfoul,需要去搜索頁面,但對我來說真的複雜,becouse我需要從404網址提取搜索短語:
這裏有2類型的網址404錯誤,需要重定向。
DOMAIN /電影/ 12298295 - 鐵 - 滿3
DOMAIN /系列/ 15108-的行走 - 死海/季/ 3 /次/ 10
科西嘉中,我需要提取只是名字的電影,或者意甲,並重定向到該網址
d ?OMAIN /搜索Q =鐵人-3
DOMAIN /搜Q =的行走 - 死海
嗯,這是部分的URL: 對於 「電影」 剛有4個部分:
域 - 科西嘉的,是網站的域名
/電影/ - 是基於續創建
12298295- ENT類型(電影或系列)是該項目的ID,並且可以是形式 - 1 - 至 無限
鐵曼-3 - 電影(的名稱wath欲獲得)
對於「系列」 - 同樣喜歡的電影,但最後能有更多的零件,以及完整的URL可以是:(所有這些網址,一個正常的頁面,沒有404,沒關係)
DOMAIN/serie/15108 - 行屍走肉/季節/ 3 /劇集/ 10 - 連結到劇集頁面
DOMAIN/serie/15108-The-Walking-Dead/seasons/3/- 鏈接到某個季節
頁DOMAIN /系列/ 15108-的行走 - 死海/ - 鏈接到首頁這個系列
請注意,我需要重定向這個網址,JUST如果結果是一個404頁面(ErrorDocument 404),因爲所有頁面都使用相同類型的URL。
這是我的實際。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>
非常感謝您的幫助
NO - 這個規則全部重定向的URL與 - 電影|意甲,像我有告訴在這個問題中,許多其他類似的網址都可以,例如,DOMAIN/movie/123-title,可能會導致404,因爲此條目被刪除,但DOMAIN/movie/456-title沒問題,所以只需要重定向如果結果是404 – user5535624
@ user5535624在上述情況下,404由腳本觸發。它需要由腳本本身處理。 Apache永遠不會知道電影/系列是否存在於數據庫中。 – hjpotter92