.htaccess переписать дружественные URL - PullRequest
6 голосов
/ 29 июня 2011

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

http://www.myurl.com/content.php?id=13089093057550&slug=this-is-a-nice-url

И я хочу, чтобы это выглядело так:

http://www.myurl.com/this-is-a-nice-url

Как мне это сделать?

Ответы [ 2 ]

7 голосов
/ 29 июня 2011

Вам нужно будет передать идентификатор в ваш PHP-код, чтобы отобразить контент, в который я верю.Например, посмотрите на URL переполнения стека для этого вопроса: /4966641/htaccess-perepisat-druzhestvennye-url, где он передает и 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]
2 голосов
/ 29 июня 2011

Вы можете вставить slug в строку запроса, но без предоставления id где-то Apache не сможет его предоставить.Надеюсь, у вас есть способ получить идентификатор из вашей базы данных, используя только параметр URL slug.

RewriteEngine On
# We don't know the id
RewriteRule (.*)$ /content.php?slug=$1 [L,QSA]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...