Как может использовать mod_rewrite для перенаправления нескольких определенные URL, содержащие несколько строк запроса?

Попытайтесь использовать OSSEC rootcheck для тестирования. Это лучше в обнаружении руткитов, чем эти два инструмента. Ссылка: http://www.ossec.net/rootcheck/

2
задан 14 January 2011 в 17:45
3 ответа

Не действительно эффективно сделать переписать правило для каждой возможной устаревшей ссылки. Таким образом, вероятно, Ваш наилучший вариант состоит в том, чтобы выпустить перенаправление php к новой ссылке. Создайте функцию 'generateLink', который анализирует $ _REQUEST и создает 'новую' ссылку, затем проблема a header("Location: $newLink", '', 301). Назовите generateLink () наверху article.php, прежде чем любой вывод будет сгенерирован (иначе, заголовок () перестанет работать),

1
ответ дан 3 December 2019 в 13:23

RewriteRules (по умолчанию) только работают над частью URL, не над частью запроса (часть позади?). Создавать правила, которые стреляют в зависимости от части запроса, необходимо установить условные выражения для строки запроса

RewriteCond %{QUERY_STRING} ^issue_id=12&article_id=275$
RewriteRule ^/article\.php http://foobar.edu/content/super-happy-fun-article [R=301,L]

Получить что-то как Вы требуемый.

Но с 120 перенаправлениями, идея использовать специализированный article.php лучше.

0
ответ дан 3 December 2019 в 13:23

Если необходимо сделать это быстрый, Вы не можете только записать новый article.php что вперед к корректной drupal странице?

<?php

$locations[12][275] = 'content/super-happy-fun-article';
$issue = $_GET['issue_id'];
$article = $_GET['article_id'];
if(isset($locations[$issue][$article]){
 $go = $locations[$issue][$article];
}
else{
 $go = 'broken_link'
}

header( 'Location: http://www.yoursite.com/'. $go );
0
ответ дан 3 December 2019 в 13:23

Теги

Похожие вопросы