Я усложнил RewriteCond
и RewriteRule
в одной машине. И согласно этим правилам, некоторые запросы будут перенаправлены на другую машину.
Так есть ли какой-нибудь журнал Apache, который ясно показывает, как происходит перенаправление? Потому что перенаправление происходит неожиданными способами.
Для непосвященных вот как вы должны написать свой файл * .conf:
NameVirtualHost *:80
<VirtualHost *:80 >
ServerName gw.myserver.net
DocumentRoot "C:\Program Files\MyCompany\myserver\Web"
DirectoryIndex index.html index.php
RewriteLog "logs\rewritelog.txt"
RewriteLogLevel 3
<Directory "C:\Program Files\ MyCompany\ myserver\Web">
AddDefaultCharset UTF-8
Order Deny,Allow
Allow from all
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^gw\. myserver\.net$
RewriteRule !^(login|index.php) http://pmmenu. myserver\.net%{REQUEST_URI}$1 [L,R=301]
# 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]
</Directory>
</VirtualHost>
Вам необходимо включить перезапись журнала в конфигурации вашего виртуального хоста или сервера.
RewriteLog "/usr/local/var/apache/logs/rewrite.log"
видеть http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog
Вы можете настроить файл журнала специально для Rewrite
обработка с RewriteLog
директива. Количество журналов можно выбрать с помощью RewriteLogLevel
.