Вопрос

я создал веб-сайт на php.

В базе данных хранится список названий историй, и когда пользователь нажимает на любой заголовок среди них, пользователь перенаправляется на страницу со строкой запроса на ней.нравится story.php?id=25

Это означает, что теперь будет отображаться история с идентификатором 25.Теперь я хочу переписать URL, но когда я его переписываю, возникает проблема.

На странице story.php я читаю строку запроса типа $_GET['id']..но после переписывания URL-адреса я не могу прочитать его таким образом.Может ли какой-нибудь орган подсказать, что делать

Это было полезно?

Решение

Если бы вы внесли некоторые коррективы в свою строку URL, вы могли бы сделать это.

http://www.domain.com/story.php?story=25&title=some_name

Который после перезаписи может быть таким.

http://www.domain.com/25/some_name.html

Код:

RewriteEngine On
RewriteRule ^story/([^/]*)/([^/]*)\.html$ /story.php?story=$1&title=$2 [L]

Другие советы

Вы можете использовать .htaccess для перезаписи длинных URL-адресов на стороне сервера, но не перенаправлять браузер (поэтому он все еще показывает длинный URL-адрес в адресной строке), что-то вроде:

 RewriteEngine on
 RewriteRule story\/(\d+)\/(.+) story.php?id=$1

Просто сделайте так, чтобы длинные ссылки выглядели как www.site.com/story/25/This_is_the_title

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top