В моем .htaccess
файле записано следующее:
Options -Indexes
RewriteEngine on
RewriteBase /properties/
RewriteRule ^view/([0-9]+)$ view.php?id=$1 [QSA]
Я хочу написать "симпатичный" URL, например http://example.com/properties/view/1 в http://example.com/properties/view.php?id=1.
RewriteRule
передает запрос моему скрипту view.php
, но, похоже, он не выполняет бит строки запроса.Например, если я делаю print_r($_SERVER)
, я вижу следующее:
Array
(
...
[DOCUMENT_ROOT] => /Users/Martin/Sites/[removed]/
...
[SCRIPT_FILENAME] => /Users/Martin/Sites/[removed]/properties/view.php
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /properties/view/1
[SCRIPT_NAME] => /properties/view.php
[PATH_INFO] => /1
[PATH_TRANSLATED] => /Users/Martin/Sites/[removed]/1
[PHP_SELF] => /properties/view.php/1
...
)
Почему QUERY_STRING
пусто?И почему я не могу получить доступ к «1» с $_GET['id']
?
Примечание: Очевидно, я поместил токены [removed]
в пути к файлам.