.htaccess file redirect with parameter

Passing the user to new pages

At the moment I am completely re-designing and re-structuring my current web pages. Along the way there is random problem that needs to be solved. In this case old blog posts by a wordpress solution has url's to a totally different path of the server. Fixing this problem I needs to do 404 redirect with a url-path as a parameter. 

Passing URL for re-directs on the HTACCESS file

1. Type this into the .htaccess file 

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Rewriterule ^(.*) https://www.path-to-url/blog-path/post-redirect.php?q=$1 [R=301,L]

 

The code snippet above is for the .htaccess file and this will redirect any broken links with a paramter to an custom made php file where you can easily customize the path or extra adjustment. See below for an example,

2. Customize php script to handle the parameter

echo"Post redirect ";
 
// Remove the last char since it is a slash "/"
$path = substr(htmlspecialchars($_GET["q"]), 0, -1);
 
// If the string path has the word 'blog/' within it - remove it since then it is a category search page.
if (strpos($path, 'blog/') !== false) {
$path = str_replace('blog/', '', $path) ;
header("Location: https://www.path-to-url/category-page.php?post=".$path);
}
else{
//Pass the main parameter to the new blog post path
header("Location: https://www.path-to-url/blog-path.php?post=".$path);
}