2015-07-09 2 views
2

У меня есть этот мульти язык переписывания URL из .htaccess:PHP не обнаруживает язык GET от перезаписи URL

RewriteEngine On 
RewriteBase /pms/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^((fr))/([A-Za-z0-9-]+)/([0-9]+)/([A-Za-z0-9-]+)/?.html$ article.php?page=$3&id=$4&title=$5$lang=$1 [NC,L,QSA] 

в article.php странице мне нужно распечатать fr из $_GET['lang']. Но я вижу пустой и не обнаружить $_GET['lang']:

$lang = isset($_GET['lang']); 
echo $lang; 

как я могу напечатать имя языков от перезаписи URL ?!

+2

Вы используете ** $ ** вместо ** & ** в запросе, только Befor на ** яз ** param. 'article.php? page = $ 3 & id = $ 4 & title = $ 5 & lang = $ 1' –

+0

Почему вы заключили' fr' двойными скобками: '((fr))'? –

+0

@ ВладымирСерых: ты прав. Мне нужно удалить двойные скобки. – Perspolis

ответ

4

кажется, есть $ перед тем lang

попробовать

article.php?page=$3&id=$4&title=$5&lang=$1 
1
article.php?page=$3&id=$4&title=$5$lang=$1 

он должен быть использован как этот

article.php?page=$3&id=$4&title=$5&lang=$1 

А также Исеть Определить, является ли переменная установлена ​​и не является NULL, поэтому он вернется как истинный или ложный

$lang = isset($_GET['lang']); 
    echo $lang; 

$ Ланг содержит истина или ложь не назвать Ланг использовать это как

if(isset($_GET['lang'])) 
{ 
$lang = $_GET['lang']; 
echo $lang; 
} 
Смежные вопросы