Я заранее прошу прощения, если Это слишком долго. Я считаю, что больше деталей лучше, чем меньше, и надеюсь, что я не буду ужасно бессвязно: -)
Я использую WAMP на моем ноутбуке для локального разработчика, и у меня есть различные c: / wamp / alias / *
файлы, каждый из которых указывает на рабочий каталог проекта. У меня была отличная помощь по mod_rewrite, и я заставил
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*\/)?ih(\/.*)?$ $1index.php$2 [L,QSA]
работать над изменением localhost /.../ ih / sub / dir
на localhost /.../ index.php / sub / dir
для коротких и оптимизированных для SEO URL. [Я не делал этого в prod, но подозреваю, что это сработает также.] Однако, чтобы собрать все вместе, мне пришлось изменить корень документа с c: / wamp / www /
на c: /
, чего я бы предпочел не делать на тот случай, если мой Apache взломают, или в противном случае, потому что это кладж.
Мой тестовый файл псевдонима выглядит как
Alias /testme "c:/var/tmp/wamp-testme/"
<Directory "c:/var/tmp/wamp-testme/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*\/)?ih(\/.*)?$ $1index.php$2 [L,QSA]
</Directory>
и ошибка, получить при попытке загрузить http: // localhost / testme / rewrites / ih / sub / path
равно
[Thu Jun 30 06:46:13 2011] [error] [client 127.0.0.1]
File does not exist: C:/wamp/www/var
с совпадающим
Not Found
The requested URL /var/tmp/wamp-testme/rewrites/index.php/sub/path
was not found on this server.
в браузере. Конечно же, та же самая конфигурация в моем файле c: /wamp/alias/flying.conf
, который указывает на каталог c: / data / flying /
, вызывает Файл не существует: C: / wamp / www / data
в файле журнала ошибок и т. д.
Ооооо ... Как я могу иметь правило перезаписи, которое выходит за рамки псевдонимов, не имея корневого каталога документов в корневом каталоге моей машины ?