Απενεργοποίηση/Ανακατεύθυνση σελίδων στο Drupal

Απενεργοποίηση/Ανακατεύθυνση σελίδων στο Drupal

Στο Drupal, πολλές φορές χρειάζεται να κάνετε κάποια ανακατεύθυνση ή να επενεργοποιήσετε εντελώς κάποια σελίδα. Για παράδειγμα, αν έχετε φτιάξει τα κατάλληλα views και δεν χρειάζεστε πλέον την σελίδα /node, μπορείτε να την απενεργοποιήσετε. 'Η ακόμα μπορείτε να ανακατευθύνετε τις σελίδες /admin και /user (ίσως) στις /myadmin και /myuser αντίστοιχα.

 

Για να απενεργοποιήσετε τη σελίδα /node, στο settings.php, προσθέστε στο τέλος τις παρακάτω γραμμές (ή αν υπάρχουν αλλάξτε τις):

function custom_url_rewrite_inbound(&$result, $path, $path_language) {
  if ($path == 'node') {
    $result = '404'. $matches[1];
  }
}

 

Για  να κάνετε τις ανακατευθύνσεις, πάλι στο setting.php προσθέστε (ή αλλάξτε) :

function custom_url_rewrite_outbound(&$path, &$options, $original_path) {
if (preg_match('|^admin(/{0,1}.*)|', $path, $matches)) {
$path = 'myadmin'. $matches[1];
}
if (preg_match('|^user(/{0,1}.*)|', $path, $matches)) {
$path = 'myuser'. $matches[1];
}
}

function custom_url_rewrite_inbound(&$result, $path, $path_language) {
if (preg_match('|^myadmin(/{0,1}.*)|', $path, $matches)) {
$result = 'admin'. $matches[1];
}
if (preg_match('|^myuser(/{0,1}.*)|', $path, $matches)) {
$result = 'user'. $matches[1];
}

if (preg_match('|^admin(/{0,1}.*)|', $path, $matches)) {
$result = '404'. $matches[1];
}

 

if ($path == 'node') {
$result = '404'. $matches[1];
}

}