web-dev-qa-db-ja.com

Drupal 6の検索結果URLの最後に「.html」を付ける方法は?

検索結果のURLを

_http://www.site.com/search/node/Search for something.html
http://www.site.com/search/node/cars.html
_

custom_url_rewrite_outbound()を調べましたが、理解できることはあまりありません

2
user751

custom_url_rewrite_outbound() は、settings.phpに配置する必要がある唯一の関数ではありません。また、 custom_url_rewrite_inbound() も必要です。これにより、URLがDrupalで認識されているURLに変換されます。

これらの関数には、次のようなコードを使用できます。

function custom_url_rewrite_outbound(&$path, &$options, $original_path) {
  if (preg_match('|^search/([^/]+)/(.+)|', $path, $matches)) {
    $path = 'search/' . $matches[1] . '/' . $matches[2] . '.html';
  }
}

function custom_url_rewrite_inbound(&$result, $path, $path_language) {
  if (preg_match('|^search/([^/]+)/(.+)\.html$|', $path, $matches)) {
    $result = 'search/' . $matches[1] . '/' . $matches[2];
  }
}
1
kiamlaluno