2010-09-26 3 views

ответ

0

Я сделал это с DocumentRoot:

DocumentRoot *site*/index.php 

Он генерирует предупреждение, но это работает:

Warning: DocumentRoot [*site*/index.php] does not exist 
+0

Это потому, что нельзя использовать (и это не имеет смысла) использовать * в DocumentRoot. Если /path/to/index.php как DocumentRoot работает, я думаю, что хорошо, но лучший способ получить этот рабочий идентификатор для использования mod_alias (AliasMatch) или mod_rewrite – msurovcak

+0

Я скрыл путь с * сайта *, путь/home/miroslav/htdocs/... :) – kravemir

0

Создайте URL-адреса, такие как /index.php/topic/4/thread/3/, а затем изучите $_SERVER['PATH_INFO']. Или просто используйте обычные строки запроса и используйте $_GET.

+0

Это хорошо. Я знаю это. Но без точки в адресе? – kravemir

+0

Тогда у вас нет выбора, кроме как использовать что-то вроде mod_rewrite. mod_php не предназначен для мультиплексирования всего через один скрипт самостоятельно. –

0

использовать mod_rewrite, на самом деле. Это то, что было сделано раньше. Положите что-то вроде этого в .htaccess или апача конфигурации:

RewriteEngine on 
RewriteCond $1 !^(index\.php|css|images|javascript|robots\.txt|favicon\.ico) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

Это посылает все запросы, за исключением некоторых подкаталогов вы можете захотеть для CSS, изображений, JavaScript, а также файлы, которые вы хотите доступны такие, как robots.txt или favicon.ico в ваш файл index.php, с фактическим запрошенным файлом, добавленным в URL-адрес, поэтому index.php может обрабатывать запрос.

Смежные вопросы