htaccess rewriterule для профиля. php запрос - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь написать .htaccess RewriteRule для страницы профиля. Я хочу, чтобы правило запрашивало базу данных SQL для профиля пользователя, и, если эти данные возвращают результат, загружает страницу profile.php. Пример:

  • www.example.com/username
  • или www.example.com/user.name
  • или www.example.com/user.name123 и т.п. ...

Однако , У меня есть другие страницы, например /login, /registration, /, /chat и так далее. Каждый раз, когда я пытаюсь что-то сделать, я все время сталкиваюсь с проблемой.

Я пробовал следующее:

RewriteEngine On
RewriteRule ^(login)$ login.php [QSA]
RewriteRule ^(logout)$ logout.php [QSA]
RewriteRule ^([\w-]+)/?$ profile.php?pid=$1 [L,QSA]

Я пытаюсь выучить столько, сколько могу, но я не понимаю регулярное выражение синтаксис и условия. Вышеупомянутые правила позволяют мне использовать все предыдущие страницы, но они перехватят все остальное на странице profile.php. Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

Пожалуйста, попробуйте следующее регулярное выражение, я надеюсь, что это решит вашу проблему.

^([\w]+|[\w-]+\.+[\w]+)$

вы всегда можете использовать эту ссылку для проверки вашего регулярного выражения.

0 голосов
/ 04 августа 2020

Попробуйте это в вашем файле .htaccess

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

убедитесь, что в profile. php вы поставили определенное условие, чтобы оно соответствовало параметрам, и если оно не совпадает, отображается сообщение об ошибке или перенаправляет вас на 404 страница, которая была бы хороша

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...