Gizmo3 Ответов: 1

Переписать URL-адрес профиля пользователя


В этом коде с mod_rewrite я могу посетить профиль любого пользователя, введя его имя пользователя после домена, например example.com/john это приведет нас к профилю Джона. Однако это хорошо работает, если я набираю любое имя, которое не является именем пользователя для существующего пользователя в моей базе данных, например example.com/notauser Я все еще перенаправляюсь на пустую страницу профиля, хотя на ней нет фотографии профиля или другой информации, но все остальные кнопки и ссылки, такие как подписчики, друзья и т. д., все еще доступны. В таком случае я хочу перенаправить на страницу входа в систему или эхо-сообщение пользователя не существует, но не могу понять, как это сделать.

<?php
if(!empty($_GET['username'])) { 
$username = $_GET['username'];
}
else if(!empty($_SESSION['username'])) { 
$username = $_SESSION['username'];
}
else { 
header("Location: login.php"); 
die();
}
?>



файл .htaccess

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?username=$1

1 Ответов

Рейтинг:
1

Member 13903133

В вашем коде нет никакой ошибки, так как скрипт получает инструкции перенаправлять только тогда, когда имя пользователя не указано.
В противном случае код должен говорить: перенаправление, когда указанное имя пользователя не найдено в базе данных.
Таким образом, вы получите хорошие результаты.

Забавно, что я наткнулся на этот код, пытаясь найти в google coreect способ реализации htaccess для симпатичных ссылок.