Как сделать такой метод PHP GET Request "http://somesite.com/games/213123"? - PullRequest
1 голос
/ 22 сентября 2011

Привет, ребята, мне интересно, как делать такого рода запросы к серверу. Я смотрел на многих сайтах, и они используют эту технику.Например, gametrailers.com => http://www.gametrailers.com/video/level-six-diablo-iii/**721239**.Я знаю, что запрос GET сделан с использованием параметров, подобных этому: http://somesite.com/page.php?param=1.Так, как сделать это как трейлеры игры.Я надеюсь, вы понимаете мой вопрос, и я сомневаюсь, что «721239» - это папка на сервере с индексной страницей внутри нее.

Ответы [ 3 ]

3 голосов
/ 22 сентября 2011

Вам необходимо создать файл, расположенный в папке рядом с вашим скриптом с именем .htaccess

В этом файле вам нужно определить правила перезаписи. Содержимое файла:

RewriteEngine on 
RewriteRule ^games/(.*)$ games.php?id=$1 [L]

В этом случае http://somesite.com/games/213123 будет преобразован в http://somesite.com/games.php?id=213123

2 голосов
/ 22 сентября 2011

Более удобный способ - перезапись URL . ( Вики )

Например, у вас может быть такой .htaccess, который подробно описан в этом руководстве от Symfony:

<IfModule mod_rewrite.c>
  RewriteEngine On

  # we skip all files with .something
  RewriteCond %{REQUEST_URI} \..+$
  RewriteCond %{REQUEST_URI} !\.html$
  RewriteRule .* - [L]

  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
0 голосов
/ 22 сентября 2011

Вы можете достичь этого, используя MultiViews в Apache2 (http://httpd.apache.org/docs/2.0/content-negotiation.html).

MultiViews (если включено) инструктирует Apache для построения карты параметров, когда ресурс не существует, поэтому для www.foo.com/app/ game / 14, если www.foo.com/app.php существует, а app / game и app / game 14 нет, его можно настроить так, чтобы перевести это на www.foo.com/app.php?type=game & article = 14

Некоторые люди также используют mod_rewrite, но я не уверен, что это предпочтительный подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...