2009-09-14 3 views
1

Мне было интересно, могу ли я обработать URL-адрес без указания параметров. Например: http://www.example.com/Sometext_I_want_to_processКак обрабатывать URL-адрес без указания параметров

Я не хочу использовать: http://www.example.com/index.php?text=Sometext_I_want_to_process

Сайт должен перенаправить на другую страницу после обработки.

Какой у вас языковой язык?

ответ

3

Я предложил бы использовать mod_rewrite Апача (подобная функциональность встречается и на других веб-серверов), чтобы переписать URL, чтобы он параметр. Например, используя текстовый параметр, вы можете использовать следующие правила mod_rewrite для получения параметра.

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !=/favicon.ico # Want favicon.ico to work properly 
RewriteRule ^(.*)$ index.php?text=$1 [L,QSA] 

Тогда вы просто получаете доступ к параметру в скрипте, как обычно.

<?php  
$stuff = $_GET['text']; 
// Process $stuff 
0

Вы можете делать такие вещи, используя Apache's mod_rewrite.
Obvisouly, это означает, что он должен быть включен - что слишком часто не так по умолчанию.

Например, на веб-сайте, я использую это в .htaccess файле:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteRule ^(.*)$ /index.php?hash=$1 [L] 

Это перенаправляет все, как www.mysite.com/152 к www.mysite.com/index.php?hash=152

И, потом, в моем PHP кода, я могу просто использовать $_GET:

if (isset($_GET['hash'])) { 
    if (is_numeric($_GET['hash'])) { 
     // Use intval($_GET['hash']) -- I except an integer, in this application 
    } 
} 

в вашем случае, вы, вероятно, хотите repla се «hash» от «text», но это уже должно помочь вам приблизиться к решению ;-)