Красивые URL переписывают иногда с "?"иногда без - PullRequest
3 голосов
/ 15 апреля 2011

Я надеюсь, что кто-то может ответить «почему», это так:

Иногда я могу использовать:

...
RewriteRule ^(.*)$ index.php/$1 [L]

, а иногда бывают случаи, когда вышеописанное не работаети я должен использовать:

...
RewriteRule ^(.*)$ index.php?/$1 [L]

основное отличие заключается в добавлении ? ... Я обычно вижу, что это происходит на разных системных настройках, fastcgi против модуля против cgi, но не сделал достаточно настроекчтобы увидеть шаблон.

Я предполагаю, что это связано с тем, как apache / setup анализирует данные path / path_info.Любые мысли приветствуются, в идеале я хотел бы получить четкое объяснение того, почему это происходит и когда это происходит.

В одном и том же потоке ... Иногда Apache не выводит PATH_INFO окружение var, которое может бытькоренная причина этого, но мне интересно, почему это так.

1 Ответ

0 голосов
/ 15 апреля 2011

?является маркером начала строки запроса.

Таким образом, ваше первое правило переписывает URL "x" в файл "x" в каталоге index.php, второе переписывает URL "x"файл index.php с параметром "x".[(Кстати, я не знаю, как получить переменную без имени в файле, обычно вы используете ?var=value&var2=value2 и т.д ...)

...