2014-02-19 4 views
0

Я пытаюсь передать переменные через url, не включая var1 = test, но заменив их на/test. У меня есть следующий код:Передача параметров через url с косой чертой

$pathinfo = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : $_SERVER['REDIRECT_URL'];  
$params = preg_split('|/|', $pathinfo, -1, PREG_SPLIT_NO_EMPTY); 
print_r($params); 

Этот вопрос, если я ставлю это в файле index.php, я должен включать в себя имя файла.

Что я получаю: http://example.com/index.php/test

Что я хочу: http://example.com/test

Что я должен делать?

+0

Это называется перезаписи URL. Поищи это. http://stackoverflow.com/questions/16388959/url-rewriting-with-php –

ответ

2

Добавить файл .htaccess в корневой папке и вставьте этот код

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?/$1 [L] 

Просто убедитесь, что mod_rewrite включен

0

What should I do?

Используйте правило перезаписи с использованием mod_rewrite и .htaccess. Ваши правила могут выглядеть следующим образом:

(например, из Wordpress):

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f # Existing File 
RewriteCond %{REQUEST_FILENAME} !-d # Existing Directory 
RewriteRule . /index.php [L] 

Больше примеров here и некоторые более "простой" объяснение here.

0

Попробуйте создать файл с именем .htaccess в вашем вебсервера с этим содержанием:

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    # Redirect Trailing Slashes... 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

Также убедитесь, что modrewrite включен.

Смежные вопросы