Возможные ошибки .htaccess, 1and1.com не переписывает - PullRequest
0 голосов
/ 04 июня 2011

Следующий файл .htaccess отлично работает на моем локальном сервере.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} \.cssc
RewriteRule . style.php [L]

RewriteRule ^admin\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . admin.php [L]

Я делаю какую-то работу для клиента, а он использует 1and1.com. Я ничего не знаю о его аккаунте или о том, какой пакет у него есть.

Все файлы перезаписываются в admin.php (если они на самом деле не существуют). Проблема в том, что я получаю 404.

Я знаю, что он читает файл .htaccess, потому что:

  1. Я могу положить мусор в файл и получить ошибку 500.
  2. Если я делаю общую переписку (все страницы идут на admin.php), это работает.

Кроме того, кажется, что 1and1 выполняет свою собственную переписывание. Если я перейду к: http://somewhere/afile, он будет включать afile.js, хотя я не запрашиваю .js. Это супер странно.

У кого-нибудь есть опыт с этим? Или какое-нибудь понимание?

Ответы [ 2 ]

1 голос
/ 09 сентября 2011

Чтобы добавить некоторую информацию ..

1 и 1, кажется, уже имеет место какое-то переписывание по умолчанию, которое может мешать вашим собственным правилам - например: RewriteRule ^product$ /product.php [L]

Это дало404 для этого, а также для любого другого правила перезаписи, которое соответствует уже существующему файлу .php в моей корневой папке.

2 вещи, которые «исправили» это:

Измените текст перезаписи на noдлиннее совпадение имени файла: RewriteRule ^productz$ /product.php [L]

Или измените имя файла: RewriteRule ^product$ /product_.php [L]

Обе работы - оба очень раздражают.

0 голосов
/ 10 сентября 2011

Ответ был просто «Не вкладывать файлы .htaccess». У меня был один в подпапке.

...