Я не уверен, возможно ли это, но у меня есть следующий URL-адрес, который я хочу сделать более дружелюбным:
http://www.myurl.com/content.php?id=13089093057550&slug=this-is-a-nice-url
И я хочу, чтобы это выглядело так:
http://www.myurl.com/this-is-a-nice-url
Как мне это сделать?
Вам нужно будет передать идентификатор вашему PHP-коду, чтобы отображать содержимое, которое я считаю. Например, посмотрите на URL переполнения стека для этого вопроса: http://stackoverflow.com/questions/6520671/htaccess-rewrite-friendly-urls
где он передает и id
и slug
. Таким образом, вы можете иметь дружественные URL-адреса:
http://www.myurl.com/13089093057550/this-is-a-nice-url
Если вы решите пойти по моему предложению, то вот код, который вам понадобится в .htaccess:
Options +FollowSymlinks -MultiViews RewriteEngine On RewriteRule ^([0-9]*)/(.*)/?$ /content.php?id=$1&slug=$2 [L,QSA]
Вы можете получить slug
в querystring, но без предоставления id
где-то Apache не может его предоставить. Надеюсь, у вас есть способ получить id из вашей базы данных, используя только параметр slug URL.
RewriteEngine On # We don't know the id RewriteRule (.*)$ /content.php?slug=$1 [L,QSA]