сообщества,Apache mod_rewrite Расхождение
У меня есть следующая проблема: для частного проекта, я хотел создать хороший URLs с mod_rewrite.
Локально (Win 10, Apache 2.4.23) каждое правило в моем .htaccess отлично работает. Удаленно (Ubuntu 16.04, Apache 2.4.18) первые 3 правила вообще не работают, в частности, все возвращают 404 не найденную ошибку.
Пожалуйста, обратите внимание:
# Basic site rules
RewriteRule ^login$ /login.php
RewriteRule ^logout$ /login.php?logout
RewriteRule ^signup$ /signup.php
RewriteRule ^confirm/(.*)$ /signup.php?confirm®key=$1
# mail list
RewriteRule ^mails$ /manage_mail.php
RewriteRule ^mail/list/ip$ /manage_mail.php?mode=create_iplist
RewriteRule ^mail/list/usernames$ /manage_mail.php?mode=create_usernamelist
and more rules here...
Правила 1-3 (Логин, выход из системы, регистрация) вернуть вышеупомянутую ошибку 404. Каждое следующее правило работает по назначению.
Любые идеи? Спасибо заранее.
Edit # 1: поцарапан
Edit # 2: Это ВХост я использую:
<VirtualHost *:80>
ServerName domain.me
ServerAdmin [email protected]
DocumentRoot /var/www/domain.me/html
<Directory /var/www/domain.me/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog "|/usr/bin/cronolog /var/www/domain.me/log/%Y-%m/error_%Y-%m-%d.log"
CustomLog "|/usr/bin/cronolog /var/www/domain.me/log/%Y-%m/access_%Y-%m-%d.log" combined
</VirtualHost>
Мой файл /etc/apache2/apache2.conf выглядит очень похоже.
Вы уверены, что в конфигурационных файлах Apache для localhost в этом каталоге установлена опция «AllowOverride All»? – artur99
Вы можете получить доступ к страницам под их длинным именем ('/ login.php' и т. Д.)? – neuhaus
Вы уверены, что это не браузер, кеширующий 404 из предыдущих запросов на эти URL. Лучший способ проверить это с помощью утилиты 'curl' cli: ' curl -I http: // www.example.com/login' – Euperia