2010-01-10 2 views
1

Я пытаюсь сделать seo для поиска запросов. у меня есть форма, как это:

<form action="index.php?<?=$_GET['search-input01']?>'" method="get"> 
    <p class="nom t-center"> 
    <label for="search-input01">All:</label> 
    <input type="text" size="75" name="q" id="search-input01" /> 
    <input type="image" src="design/search-button.gif" class="search-submit" /> 
    </p> 
</form> 

, когда у вас поиск /index.php?q=SEARCHTERMHERE&x=0&y=0 в адресной строке. Я хочу сделать это: /search-SEARCHTERMHERE

Как это сделать?

ответ

3

попробовать что-то вроде этого:

if (isset($_GET['q'])) { 
    header('Location: http://example.com/search-'.rawurlencode($_GET['q'])); 
    exit; 
} 

Это будет перенаправлять запрос, что это URL запроса содержит q аргумент, как в вашем /index.php?q=SEARCHTERMHERE&x=0&y=0 к /search-SEARCHTERMHERE.


Редактировать Вы также можете попробовать это только с mod_rewrite:

RewriteCond %{THE_REQUEST} ^GET\ /index\.php\? 
RewriteCond %{QUERY_STRING} ^(([^&]*&+)*)q=([^&]*)&*(.*) 
RewriteRule ^index\.php$ /search-%3?%1%4 [L,R] 

RewriteRule ^search-(.+) index.php?q=$1 [L,QSA] 

Первое правило для перенаправления запроса извне, а второй для внутреннего переписывания.

+1

спасибо за ваш ответ. ваш код перенаправляется успешно, но не работает. mozilla говорит о неправильном перенаправлении (никогда не загружая страницу, то есть). btw я изменил свой пост. забыть о «www», это был поисковый запрос. Я хочу /index.php?q=SEARCHTERMHERE&x=0&y=0 to/search-SEARCHTERMHERE –

+0

, он не работал, но я изменил «q» на «search-input01» в php-скрипте $ _get. он работает, но пишет как search-TERM? x = 0 & y = 0. и страницы сейчас не работают. RewriteRule search - (. *) - (. *) $ /index.php?page=$2&q=$1 RewriteRule поиск - (. *) - (. *) $ /index.php?type=$2&q=$1 RewriteRule search - (. *) - (. *) - (. *) $ /index.php?page=$3&type=$2&q=$1 есть другие правила. если у вас есть MSN, добавьте мне [email protected] –

2

Если вы хотите делать противоположное тому, что предложил Гамбо, т.е. перенаправить /search-SEARCHTERM на /index.php?q=SEARCHTERM&x=0&y=0, ввести что-то подобное в вашем файле .htaccess:

RewriteEngine On 
RewriteRule ^search-([-_A-Za-z0-9]+)$ /index.php?q=$1&x=0&y=0 [L] 
+0

спасибо за обновление. я попробовал RewriteRule^search - ([-_ A-Za-z0-9] +) $ /index.php?q=$1&x=0&y=0 [L] но это не сработало –

+0

вы можете привести пример типичного условия поиска? – Tomba

+0

um. ex search term: «windows», когда u выполняет поиск «окон» на странице «все», переходит в «index.php? q = windows» в разделе «apps», идет «index.php? type = app & q = windows» –