Изменить URL из profile.php?user=myUsername на profile/myUsername с помощью .htaccess

#php #apache #.htaccess

#php #apache #.htaccess

Вопрос:

Я использую xamp для размещения своей веб-страницы на своем компьютере, и я хочу изменить этот URL с

 http://localhost/loginsystem/profile.php?user=myUsername
  

Для

 http://localhost/loginsystem/profile/myUsername 
  

Я пробовал следующее и не работает, а взамен выдает ошибку сервера 500.

 RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^/profile/([a-zA-Z0-9] ) /profile.php?user=$1 [NC, L]
  

и

 RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^/profile/(.*)?$ /profile.php?user=$1 [NC, L]
  

Любая помощь была бы отличной, все еще довольно новой. Заранее спасибо!

Ответ №1:

Это должно сработать

 RewriteRule ^profile/([^/] )/?$ profile.php?user=$1 [L]
  

Также убедитесь, что ваш файл .htaccess находится в папке loginsystem. В противном случае вам нужно будет указать это в своем правиле перезаписи

 RewriteRule ^loginsystem/profile/([^/] )/?$ profile.php?user=$1 [L]
  

Ответ №2:

Заменить код .htaccess на:

 Options  FollowSymLinks
# Turn mod_rewrite on
RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^profile/([a-zA-Z0-9] )/$ profile.php?user=$1 [L]
  

Теперь вы можете получить запрос пользователя с помощью GET request.

Комментарии:

1. Для получения дополнительной информации вы можете проверить httpd.apache.org/docs/trunk/rewrite/remapping.html