.htaccess мешает вложенным .htaccess / .htpasswd? - PullRequest
1 голос
/ 17 июля 2010

Я использую Простой список рассылки (http://www.notonebit.com/projects/mailing-list). Это хороший список рассылки, но нет области администратора. Поэтому вы должны использовать .htaccess / .htpasswd для защиты / mail / adminпапка.

Однако на моем сайте WordPress установлен в корневой папке сайта. WordPress создает .htaccess для пользовательских постоянных ссылок. И по какой-то причине это мешает .htaccess моей /mail/admin/.

Когда я удаляю файл WordPress .htaccess, моя защита паролем работает правильно в / mail / admin. Однако, когда WordPress .htaccess присутствует и я загружаю / mail / admin в браузере, меня никогда не просятпароль, и я вижу страницу WordPress 404 с надписью «страница не найдена ...»

Вот мои файлы ... WordPress .htaccess (находится в корневой папке):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Список рассылки .htaccess (находится в / mail / admin):

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /home/myUsername/public_html/mySndSite/mail/admin/.htpasswd 
require valid-user

Любая идея о том, что вызывает конфликт, и как я могу его разрешить? Работал над этим часами. Ваша помощь оченьприветствуется.

Спасибо

РЕДАКТИРОВАТЬ: найдено решение!

Найдено решение в блоге Joomla.Я не знаю как, но это работает ... LOL:)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|#.*|\?.*|/[^.]*)$  [NC]
RewriteRule ^(.*) /index.php [L]
</IfModule>

Ответы [ 2 ]

0 голосов
/ 17 июля 2010

Я думаю, что здесь должно быть что-то еще, чего мы не можем видеть. Этот код Wordpress .htaccess уже предотвращает перезапись URL-адресов, когда вы пытаетесь получить доступ к файлу или каталогу, существующему на сервере, что в данном случае должно быть правдой.

Существуют ли где-нибудь другие файлы .htaccess или какие-либо плагины, установленные в Wordpress, которые требуют переписывания? Также работает ли / mail / admin / при удалении файла .htaccess, для которого требуется пароль?

Вы можете попытаться, скажем, создать пустые текстовые файлы в каталоге / mail / admin / и в совершенно новой папке в корневом каталоге, и посмотреть, сможете ли вы получить к ним доступ без каких-либо проблем, - возможно, сузится проблема .

0 голосов
/ 17 июля 2010

Вы можете явно указать условное условие, чтобы URI запроса не соответствовал URL-адресу почтового сценария. Это должно помешать включению перезаписи при просмотре страницы администратора почты.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !mail
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
...