@AndRussia

Как решить эту проблему с Rewrite в .htaccess?

Здравствуйте. Пытался сделать ввод имени пользователя в url через редирект на .htaccess, но что-то пошло не так.
На stackoverflow нашел следующее решение:
RewriteRule ^stats/(.*)$ /stats?uname=$1
Соответственно в PHP у меня имеется _GET переменная
$uname = $_GET['uname'];
61e543228a999637509067.png
Проверил, не работает. Решил вывести эту самую переменную через echo и посмотреть.
Мне выдает "user.php/user". user это значение переменной uname.
В чем ошибка? Я пытался изменять всячески правило, но к сожалению это не помогло.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@abylalikkkk
лучше делай через пхп а не хтасссес
<?php 
if ($_SERVER['REQUEST_URI'] == '/') {
  $Page = '';$Module = '';
}else {
  $URL_Path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
  $URL_Parts = explode('/', trim($URL_Path, ' /'));
  $Page = array_shift($URL_Parts);
  $ModuleOne = array_shift($URL_Parts);
}

в урле в твоим случае stats это $Page, а user это уже $ModuleOne
if($Page == "stats"){
Include "stats.php";
}

$uname = $ModuleOne;

Сам htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?route=$1 [QSA,L]


Почему логика построен на пхп? Потому что в дальнейшем работать будет легко, и можно работать с другими урл
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы