బ్లాగును హెడర్లో మళ్ళించండి
మా దారి మళ్లింపు ప్లగ్ఇన్ WordPress కోసం నిర్మించబడింది దారిమార్పులను నిర్వహించడానికి మరియు నిర్వహించడానికి ఒక అద్భుతమైన సాధనం. నేను దీన్ని ఈ సైట్లో ఉపయోగిస్తాను మరియు నవీకరించబడిన పోస్ట్లు, అనుబంధ లింక్లు, డౌన్లోడ్లు మొదలైన వాటి కోసం నా దారిమార్పుల సమూహాలను నిర్వహించాను.
అయినప్పటికీ, నేను ఒక ప్రత్యేకమైన సమస్యలో పడ్డాను, అక్కడ నేను క్లయింట్ కోసం రివర్స్ ప్రాక్సీని ఏర్పాటు చేసాను, అక్కడ WordPress ఒక మార్గంలో నడుస్తుంది… కానీ సైట్ యొక్క మూలం కాదు. ప్రాధమిక సైట్ అజూర్లోని IIS లో నడుస్తోంది. ఏ వెబ్ సర్వర్ చేయగలిగినట్లే IIS దారిమార్పులను నిర్వహించగలదు, కానీ సమస్య ఏమిటంటే ఈ క్లయింట్ వారి అభివృద్ధి ప్రక్రియలో దారిమార్పు నిర్వహణను ఉంచాలి - మరియు వారు ఇప్పటికే బిజీగా ఉన్నారు.
సమస్య ఏమిటంటే, ఒక సాధారణ .htaccess శైలి దారిమార్పు ఒక అవకాశం కాదు… మనం వాస్తవానికి దారిమార్పులను PHP లో వ్రాయాలి. ఒక పరిష్కారంగా, పాత మార్గాల్లో ఏదైనా దారిమార్పులు ఉన్నాయో లేదో గుర్తించడానికి మేము అభ్యర్థనలను WordPress కు పంపిస్తాము.
లోపల header.php మా పిల్లల థీమ్ యొక్క ఫైల్, మాకు ఒక ఫంక్షన్ ఉంది:
function my_redirect ($oldlink, $newlink, $redirecttype = 301) {
$olduri = $_SERVER['REQUEST_URI'];
if(strpos($olduri, $oldlink) !== false) {
$newuri = str_replace($oldlink, $newlink, $olduri);
wp_redirect( $newuri, $redirecttype );
exit;
}
}
ఫంక్షన్లను ఫంక్షన్లలో పెట్టడానికి మేము ఇబ్బంది పడలేదు ఎందుకంటే ఇది హెడర్ ఫైల్ను మాత్రమే ప్రభావితం చేస్తుంది. అప్పుడు, header.php ఫైల్ లోపల, మనకు అన్ని దారిమార్పుల జాబితా ఉంది:
my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');
ఆ ఫంక్షన్తో, మీరు ఏ రకమైన దారిమార్పును హెడర్ అభ్యర్థనను సెట్ చేయాలనుకుంటున్నారో కూడా మీరు పేర్కొనవచ్చు, మేము దానిని 301 దారిమార్పుకు డిఫాల్ట్ చేసాము, తద్వారా సెర్చ్ ఇంజన్లు దానిని గౌరవిస్తాయి.