У меня есть этот файл .htaccess на моем Dev машине Windows, и все работает отличноФайл не найден с файла .htaccess на сервере Apache
RewriteEngine On
RewriteRule ^(.+[^/])/$ http://%{HTTP_HOST}/webserv/$1 [R=301,L]
RewriteRule ^login/([0-9]+)/([0-9]+)$ login.php?par1=$1&par2=$2 [L,NC,QSA]
Когда я загрузить его на моем сервере Centos я получаю ошибку
404 The requested URL path_to_script/login.php was not found on this server.
Я не могу понять, почему это так. Файл определенно существует, и я дал разрешения 777.
Я проверил, действительно ли .htaccess используется, добавив в него мусор и получив внутреннюю ошибку (500), что означает, что она работает.
Также, когда я использую .htaccess, чтобы создавать ограничения на IP-адреса, имеющие доступ к каталогу, в котором он работает. mod_rewrite загружается, как показано в phpinfo(), который я пробовал.
Здесь я затрудняюсь.
EDIT
я заметил, что он пытается найти в базовый_путь добавляя его в корневом каталоге, например,
/path_to_script/path_to_script/login.php
И вот почему он терпит неудачу. Как я могу это решить?
окон чувствительны к регистру. Попробуйте проверить различия в верхних строках на вашем пути. –
Я проверил это. Я скопировал путь в сообщении об ошибке и сделал меньше на машине linux, чтобы убедиться, что он находит его, и это так. – idipous
попробуйте добавить 'RewriteBase/path_to_script' до правила Rewrite –