Vanity Url ID проблема

Я пытаюсь сделать тщеславие URL.

Я хочу, чтобы этот http://mydomain.com/series/profile.php?profile_id=751130015 стал примерно таким

http://mydomain.com/series/751130015

Я попытался создать новый файл.htaccess в каталоге и добавить этот код:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /profile.php?profile_id=$1

Тем не менее, я все еще получаю ошибку, когда я пытаюсь получить доступ

http://mydomain.com/series/751130015

Я что-то пропустил?

Я получаю ошибку:

Объект не найден!

Запрашиваемый URL не найден на этом сервере. Если вы ввели URL-адрес вручную, проверьте правильность написания и повторите попытку.

Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.

Ошибка 404

1 ответ

Решение
RewriteEngine On
RewriteRule ^series/([0-9]+)$ /series/profile.php?profile_id=$1 [L]

объяснение:

все, что начинается (^) с "серии", затем с тире (/), за которым следуют цифры ( ([0-9]+)) - также запомните эти числа, так как первая переменная "$1" и, в конце концов, конец ($) будут перенаправлены в /series/profile.php?profile_id=$ 1

так что http://mydomain.com/series/751130015

будет перенаправлен на http://mydomain.com/series/profile.php?profile_id=751130015

ОБНОВЛЕНИЕ: наоборот

RewriteEngine On
RewriteCond %{REQUEST_URI}  ^/series/profile\.php$
RewriteCond %{QUERY_STRING} ^profile_id=([0-9]*)$
RewriteRule ^(.*)$ http://mydomain.com/series/%1? [R=301,L]

объяснение (первое условие), если /series/profile.php вызывается с параметрами (второе условие), начинающимися с "profile_id=" и сопровождаемыми числами, затем выполните переписывание следующим образом: перейдите на http://mydomain.com/series/ и добавьте те числа, которые были в конце, и остановитесь на этом (?) - мы намеренно остановимся на этом, чтобы избежать строки запроса, добавленной для перезаписи результата. сообщить посетителю, что это ПОСТОЯННОЕ НАПРАВЛЕНИЕ со статусом 301. Затем прекратить выполнение htaccess (L)

поэтому http://mydomain.com/series/profile.php?profile_id=751130015 перенаправит (R=301 - ПОСТОЯННОЕ НАПРАВЛЕНО) на http://mydomain.com/series/751130015

(вы можете использовать R=302 для временного перенаправления)

Другие вопросы по тегам