![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 13.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czy jest możliwość "nałożenia" tytułu dla jednej podstrony przy użyciu htaccess?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
Przez sam plik htaccess tego nie zrobisz, możesz za to użyć htaccess by przekazał do skryptu dane i na tej podstawie skrypt zmieni tytuł, bądź użyć do kierowania na inny URL gdzie masz porządaną stronę i tytuł.
Inną opcją jest stworzenie skryptu który będzie pobierał stronę (np. przez CURL) którą chcesz, za pomocą preg_replace zmieniał tytuł, wyświetlał zmienioną stronę, a htaccess będzie tylko kierował/maskował użycie tego pliku. Ale uwaga nie jest to zbyt wydajne i raczej nie jest to zbyt dobrą praktyką programistyczną. By bardziej to zoptymalizować, można by dorzucić cache'owanie strony, by nie musieć co chwila wykonywać dość kosztownej operacji zmiany tytułu i pobierania strony. Ten post edytował jaslanin 31.03.2012, 20:01:26 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 13.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
to może troche opisze mój problem, zrobilem proste przekierowanie z index.php na search.php (skrypt CMS)
Kod RewriteRule ^index.php$ search.php [L] problem polega na tym (oprócz tego że nie jestem orłem) że jest to system naczyń połączonych, w pliku main.template.php jest taki kod: Kod <title>{[var:(strlen($page_title) ? $page_title .' - '. $settings['sitename'] : $settings['sitename'])]}</title> tego kodu nie moge ruszyć ponieważ zalezy mi tylko na zmianie tytułu dla search.php natomiast cały search.php wygląda tak: Kod <?php session_start(); define('PAGE', 'site'); require ('includes/config.php'); require ('templates/'. $session->info['template'] .'/browse.template.php'); require ('languages/'. $session->info['language'] .'/browse.lang.php'); // get search page number $page = (int) $_GET['p']; if (empty($page)) $page = 1; $search_term = nohtml(escape_string($_REQUEST['t'])); // get search term // log search... for tag cloud. if ($settings['tag_cloud'] == 1 && $_SESSION['search_term'] != $search_term && strlen($search_term) > 0 && strlen($search_term) <= 20) { mysql_query("INSERT INTO ". $tbl_prefix ."search (search_term, search_date) VALUES ('". (function_exists('mb_strtolower') ? mb_strtolower($search_term,'UTF-8') : strtolower($search_term)) ."', ". $u_time .")"); $_SESSION['search_term'] = $search_term; } // build search SQL $search_sql = ''; if (isset($_REQUEST['c']) && is_numeric($_REQUEST['c'])) $search_sql .= "category = ". (int) $_REQUEST['c'] ." && "; $search_sql .= "status = '1' && (title LIKE '%". $search_term ."%' || description LIKE '%". $search_term ."%' || keywords LIKE '%". $search_term ."%')"; $number_results = count_rows($tbl_prefix .'files', $search_sql); // count the number of results $start_here = ($page - 1) * $settings['browse_per_page']; $pages_count = ceil($number_results / $settings['browse_per_page']); // Build navigation menu $txt['nav'] = ''; if ($pages_count > 1) { $search_url = $settings['siteurl'] .'/search.php?t='. stripslashes($search_term); if (isset($_REQUEST['c']) && is_numeric($_REQUEST['c'])) $search_url .= '&c='. $_REQUEST['c']; if ($page > 1) $txt['nav'] .= '<a href="'. $search_url .'&p=1"><<</a> <a href="'. $search_url .'&p='. ($page - 1) .'"><</a>'; for ($page_number = 1; $page_number <= $pages_count; $page_number++) { if ($page_number == $page) $txt['nav'] .= ' <b>'. $page_number .'</b>'; else { if ($page_number >= $page - 5 && $page_number <= $page + 5) $txt['nav'] .= ' <a href="'. $search_url .'&p='. $page_number .'">'. $page_number .'</a>'; else { if ($page_number > $page && $dots_after != true) { $txt['nav'] .= ' ...'; $dots_after = true; } elseif ($page_number < $page && $dots_before != true) { $txt['nav'] .= ' ...'; $dots_before = true; } } } } if ($page < $pages_count) $txt['nav'] .= ' <a href="'. $search_url .'&p='. ($page + 1) .'">></a> <a href="'. $search_url .'&p='. $pages_count .'">>></a>'; } // Get files $files_query = mysql_query("SELECT fileid, title, description, icon, iconlocation, timesplayed, scores FROM ". $tbl_prefix ."files WHERE ". $search_sql ." ORDER BY dateadded DESC, fileid DESC LIMIT ". $start_here .", ". $settings['browse_per_page']); $files = array(); while ($files_row = mysql_fetch_assoc($files_query)) $files[] = array ( 'id' => $files_row['fileid'], 'title' => $files_row['title'], 'url' => fileurl($files_row['fileid'],$files_row['title']), 'description' => shorten_description($files_row['description'], 80), 'image' => file_image_url($files_row['icon'], $files_row['iconlocation']), 'played' => number_format($files_row['timesplayed']), 'scores' => $files_row['scores'] ); // small replacement $lang['results_found'] = str_replace('{$results}', $number_results, $lang['results_found']); $txt['search_term'] = stripslashes($search_term); $page_title = $lang['search']; load_template('search', 1); ?> będe bardzo wdzięczny jeśli ktoś przybliży mi istote problemu (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
1. używasz jakiegoś systemu szablonów którego nie znam, więc nie wiem jak się należy nim posługiwać
2. ja bym próbował w tym pliku search.php ustawić:
zamiast:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 13.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 01:14 |