Правило переписывания Wordpress .htaccess не работает - PullRequest
0 голосов
/ 17 мая 2011

У меня есть WordPress в подпапке на моем домене с файлом .htacess в корне, который выполняет все перенаправления.

Я хочу сделать редирект, IP сайта на WWW.который работает для основного сайта в корне, но не для подпапки, которая является Wordpress.

iv есть ощущение, что WordPress перезаписывает это где-нибудь?

это то, что iv использовал в root .htaccess

RewriteCond %{HTTP_HOST} ^IP.IP.IP.IP [NC] 
RewriteRule ^(.*)$ http://www.NAME.com/$1 [R=301,L] 

, но это не работает для подпапки wordpress iv, даже пытался скопировать это в файл .htaccessКорневая папка WP, но все еще не работает

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

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

Вы не должны заменять .htaccess, созданный WordPress. Add переписать правила в существующем файле .htacess в подкаталоге и убедиться, что это первое правило в файле (т. Е. Внутри блока <if ...>). Если вы используете WP Super Cache или аналогичный плагин, обязательно создайте новый блок if над правилами, созданными плагинами, и оставьте созданный WordPress <if ...> блок без изменений.

<edit>

В вашей корневой папке

RewriteCond %{HTTP_HOST} ^IP\.IP\.IP\.IP [NC]  
RewriteRule ^(.*)$ http://www.NAME.com/$1 [R=301,L]  

В вашем каталоге WP (WPDIR) .htaccess перед любым другим правилом,

RewriteCond %{HTTP_HOST} ^IP\.IP\.IP\.IP [NC]  
RewriteRule ^(.*)$ http://www.NAME.com/WPDIR/$1 [R=301,L]  

Конечно, поместите его в блок <if ...> и включите RewriteEngine.

0 голосов
/ 17 мая 2011

Это потому, что в вашей панели управления WordPress wp-admin есть настройка:

Settings -> General -> WordPress address (URL)

и

Settings -> General -> Blog address (URL)

Убедитесь, что обновили их до http://www.domain.com/subfolder, тогда он запуститсяработает.

ОБНОВЛЕНИЕ (на основе ваших комментариев)

Используйте следующий .htaccess в папке установки WP '/ blog'

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /blog/

RewriteRule ^/?$ /blog/index.php [L]

RewriteCond %{HTTP_HOST} ^IP\.IP\.IP\.IP$
RewriteRule . http://www.NAME.com%{REQUEST_URI} [R=301,L]

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...