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 для временного перенаправления)