Samuello
@Samuello
Учусь WEB программированию.

Как видоизменить url?

Например в корневой папке есть файл donate.php, и в скрипте считывается $_GET параметр. Как из "site.ru/donate?buy=credits" сделать "site.ru/donate/credits"?.
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
ixon
@ixon

С помощью htaccess.

#Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On     
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.*?)(?:\+|%20|\s)+(.+?)\sHTTP [NC]
RewriteRule ^ /%1-%2 [L,NE,R=302]

# To externally redirect /dir/foo.php?name=123 to /dir/foo
RewriteCond %{THE_REQUEST} ^GET\s(.*)/Movie\.php\?name=([^&\s]+) [NC] 
RewriteRule ^ %1/%2? [R,L]     

# /htaccess/Movie.php?name=movie-name => /htaccess/movie-name
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.php\?name=([^&\s]+) [NC] 
RewriteRule ^ %1/%2? [R,L]     

# To internally forward /dir/foo/12 to /dir/foo.php?name=12
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/([^/]+)/?$ $1.php?name=$2 [L,QSA]

# handle /htaccess/movie-name internally
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ Movie.php?name=$1 [L,QSA]
Ответ написан
Ваш ответ на вопрос

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

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