Два файла ".htaccess" в разных директориях – это нормально?

26 авг. 2012 г., 18:58:43
Просмотры: 15.7K
Голосов: 2

Я обнаружил два файла ".htaccess": один расположен в '/httpdocs/.htaccess', другой — в '/httpdocs/wordpress/.htaccess'. Их содержимое различается. Это нормально?

WordPress был установлен в директорию '/wordpress/', и с тех пор не перемещался. Однако когда пользователи заходят на мой сайт, в URL отображается "http://www.mydomain.com" без упоминания 'wordpress'.

Также в Настройки > Общие указано:

Адрес WordPress (URL): http://www.mydomain.com/wordpress

Адрес сайта (URL): http://www.mydomain.com

2
Комментарии

Привет, ты уже задавал этот вопрос в комментарии к своему другому вопросу сегодня про .htaccess. Тебе просто нужно удалить один файл или оставить их как есть

Damien Damien
26 авг. 2012 г. 19:16:33

Но содержимое двух файлов не одинаковое..

RRN RRN
26 авг. 2012 г. 19:36:50
Все ответы на вопрос 2
4

Как правило, Apache использует наиболее специфичный файл .htaccess для запрашиваемого ресурса. Это означает, что для доступа к файлам в /httpdocs/wordpress/ будет использоваться /httpdocs/wordpress/.htaccess. Доступ к /httpdocs/foo/ будет использовать /httpdocs/foo/.htaccess, а если его нет, то будет использоваться /httpdocs/.htaccess.

Если корневая директория вашего сайта указывает на /httpdocs/wordpress/, то пользователи будут видеть http://www.example.com как директорию WordPress. Кроме того, если ваш /httpdocs/.htaccess включает правила перезаписи, чтобы скрыть wordpress в имени папки, произойдет то же самое.

26 авг. 2012 г. 23:47:03
Комментарии

Это содержимое файла "wordpress/.htaccess", используется только плагином BetterWPSecurity:

# BEGIN Better WP Security
# Begin HackRepair.com Blacklist
RewriteEngine on
#Блокировка спамеров в комментариях, вредоносных ботов и некоторых прокси
RewriteCond %{REMOTE_HOST} 12.226.240.248 [OR]
RewriteCond %{REMOTE_HOST} 24.111.102.26 [OR]
RewriteCond %{REMOTE_HOST} 24.117.121.113 [OR]
RewriteCond %{REMOTE_HOST} 65.30.216.140 [OR]
RewriteCond %{REMOTE_HOST} 67.87.64.23 [OR]
RewriteCond %{REMOTE_HOST} 68.12.149.198 [OR]
RewriteCond %{REMOTE_HOST} 69.139.167.203 [OR]
...
RRN RRN
27 авг. 2012 г. 14:11:36

Это содержимое файла "/.htaccess":

BEGIN WordPress

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

END WordPress

RRN RRN
27 авг. 2012 г. 14:13:34

Похоже, что некоторые плагины используют "wordpress/.htaccess", но "/.htaccess" также работает. Как вы думаете, безопасно ли продолжать работать в таком режиме? Спасибо.

RRN RRN
27 авг. 2012 г. 14:19:51

Как упомянул lacqui в своем ответе, Apache будет получать все необходимые данные из всех созданных вами файлов .htaccess, но более специфичные правила переопределяют те, что находятся ближе к корневому каталогу. Это означает, что вы можете распределить свои правила по нескольким файлам. Или даже короче: Да, можно оставить всё как есть.

Jan Beck Jan Beck
28 авг. 2012 г. 18:16:12
1

Похоже, что у вас WordPress установлен в поддиректории. Подробное объяснение этого можно найти в кодексе: http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

В шаге 7 упоминается, что файл .htaccess должен быть скопирован, а не перемещен из поддиректории в корень. Так что да, наличие двух файлов .htaccess является нормальным, если вы настроили установку WordPress в поддиректории.

26 авг. 2012 г. 23:42:06
Комментарии

Но содержимое не совпадает, пожалуйста, проверьте содержимое в других комментариях на этой странице. Спасибо.

RRN RRN
27 авг. 2012 г. 14:21:04