301 redirect met pagina's geladen binnen index.php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen Rooij

Jeroen Rooij

29/03/2022 14:30:50
Quote Anchor link
Goedemiddag,
Wij hebben nog een oude website staan, waarbij de pagina's door middel van php code binnen de index.php pagina worden geladen. Ze hebben allemaal dus wel ene unieke url ivm een parameter.
Nu willen we per parameter een 301 redirect aanmaken, maar komen daar niet uit.

Zoals het nu lijkt kunnen we alleen op de index.php pagina een redirect invoeren maar ivm seo willen we dit graag per pagina/ groep doen. De code is als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php

if ($q != bouw) {
echo '<div class="menu3"><a href="domein/nl/brievenbusplaten/"><h2>> Briefplaten</h2></a><a href="domein/nl/tochtstrips/"><h2>> Tochtstrips</h2></a><a href="domein/nl/postvanger/"><h2>> Postvanger</h2></a></div>';

}
elseif ($q == bouw) {
echo '<div class="menu3"><a href="domein/nl/brievenbusplaten/"><h2>> Briefplaten</h2></a><a href="domein/nl/tochtstrips/"><h2>> Tochtstrips</h2></a><a id="afdichtborstels" href="domein/nl/stripborstels/"><h2>> Afdichtborstels</h2></a></div>';
}

$p = $_GET['p'];
if ($p == "") {
$p = home;
}
if ($p == home) {
if ($q == bouw) {
include 'homebouw.php';
}
else {
include 'home.php';
}
}
elseif ($p == nieuws) {
include 'nieuws.php';
}
elseif ($p == briefplaten) {
include 'briefplaten.php';
etc etc

domein/index.php?p=nieuws
domein/index.php?p=briefplaten

De index.php bevat eigenlijk de gehele website look and feel en de losse php pagina's worden als het ware geiframed.

Hoe kunnen we deze toch redirecten naar de nieuwe website?
Alvast bedankt
Jeroen
 
PHP hulp

PHP hulp

26/06/2022 12:25:59
 
Ozzie PHP

Ozzie PHP

29/03/2022 14:55:25
Quote Anchor link
Bedoel je zoiets?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

if ($q == 'bouw') {
  echo '<div class="menu3"><a href="domein/nl/brievenbusplaten/"><h2>> Briefplaten</h2></a><a href="domein/nl/tochtstrips/"><h2>> Tochtstrips</h2></a><a id="afdichtborstels" href="domein/nl/stripborstels/"><h2>> Afdichtborstels</h2></a></div>';
}
else {
  echo '<div class="menu3"><a href="domein/nl/brievenbusplaten/"><h2>> Briefplaten</h2></a><a href="domein/nl/tochtstrips/"><h2>> Tochtstrips</h2></a><a href="domein/nl/postvanger/"><h2>> Postvanger</h2></a></div>';
}


$p = $_GET['p'];

if ($p == '') $p == 'home';

if ($p == 'home') {
  if ($q == 'bouw') {
    include 'homebouw.php';
  }
else {
    include 'home.php';
  }
}
elseif ($p == 'nieuws') {
  include 'nieuws.php';
}
elseif ($p == 'briefplaten') {
  include 'briefplaten.php';
}


?>
 
Jeroen Rooij

Jeroen Rooij

29/03/2022 15:00:28
Quote Anchor link
Hallo Ozzi,
Krijg ik zo een redirect van de pagina domein/index.php?p=nieuws naar newdomein/nieuws?
Alvast bedankt
 
- Ariën  -
Beheerder

- Ariën -

29/03/2022 15:10:32
Quote Anchor link
Ik raad aan om een te kijken naar .htaccess en mod_rewrite
Gewijzigd op 29/03/2022 15:10:40 door - Ariën -
 
Ozzie PHP

Ozzie PHP

29/03/2022 15:19:03
Quote Anchor link
Jeroen Rooij op 29/03/2022 15:00:28:
Hallo Ozzi,
Krijg ik zo een redirect van de pagina domein/index.php?p=nieuws naar newdomein/nieuws?
Alvast bedankt

Nee, ik heb enkel even de code die je had gepost verbeterd. Als je URLs wilt wijzigen dan verwijs ik je naar de opmerking van Ariën.
 
Jeroen Rooij

Jeroen Rooij

29/03/2022 15:21:22
Quote Anchor link
Ik heb het geprobeerd met deze code:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ouddomein/index.php?p=nieuws$ [OR]
RewriteCond %{HTTP_HOST} ^www.ouddomein/index.php?p=nieuws$
RewriteRule (.*)$ https://www.nieuwdomein/$1 [R=301,L]
</IfModule>

Maar dat pakt hij ook niet op.
Alvast bedankt
Jeroen
 
Willem vp

Willem vp

02/04/2022 12:40:06
Quote Anchor link
Die laatste poging is bijna goed, alleen staan de query parameters niet in de HTTP_HOST-variabele, dus die moet je apart matchen. Dat zou dus iets als dit moeten worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
RewriteCond %{HTTP_HOST} ^(www.)?ouddomein
RewriteCond %{QUERY_STRING} ^p=nieuws$
RewriteRule (index.php)? https://www.nieuwdomein/nieuws [R=301,QSD,L]
 
Jeroen Rooij

Jeroen Rooij

05/04/2022 14:32:34
Quote Anchor link
@willem, yes dat was het, geweldig, dit was helemaal wat we nodig hadden!

Nogmaals bedankt!
Jeroen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.