скрытие папки, чтобы показать root с WordPress довольно постоянные ссылки с htaccess - PullRequest
0 голосов
/ 02 февраля 2011

Я установил WordPress в подкаталоге, скажем, www.example.com/wordpress. Я хочу, чтобы пользователь нажал на www.example.com и увидел индекс www.example.com/wordpress. Я уже использую пользовательскую структуру с постоянными ссылками /% category% /% pagename% /, поэтому файл htaccess немного чужд для меня.

Мой текущий файл htaccess выглядит так:

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

# END WordPress

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Я пробовал множество решений из Интернета, но, похоже, ничего не работает. Я либо получаю внутренние 500 ошибок, либо просматриваю предыдущие страницы в корневом каталоге, например example.com/about (даже если я удалил исходный файл about.html в корне), даже после удаления своего кэша.

Любая помощь, которую вы могли бы оказать, была бы чрезвычайно полезна. Спасибо за ваше время, Rob

1 Ответ

0 голосов
/ 02 февраля 2011

Файл .htaccess должен находиться в /, а не в / wordpress /, а RewriteBase должен быть / не / wordpress /.Оставьте настройку постоянных ссылок включенной, но не используйте файл .htaccess в / wordpress /.Вам нужно будет установить корневой каталог в вашей установке WordPress на / и установить перенаправления для / wordpress / wp-content / и других подкаталогов WordPress в / .htaccess, чтобы запросы к этим каталогам также были правильно перенаправлены.

Я предполагаю, что вы хотите настроить WordPress таким образом, потому что есть другие каталоги, не связанные с установкой WordPress, к которым вы хотите быть доступными из / (например, www.example.com/cgi-bin/).Вам нужно настроить файл .htaccess в /, чтобы сделать доступными любые псевдонимы каталогов (например, / cgi-bin /), поэтому запросы к / cgi-bin / не перенаправляются в wordpress.

ПРАВКАЯ давно такого не делал, но вот мое лучшее предположение:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule  ^wp-content/(.*)$  /wordpress/wp-content/$1  [L,QSA]
    RewriteRule  ^wp-admin/(.*)$  /wordpress/wp-admin/$1  [L,QSA]
    RewriteRule  ^wp-include/(.*)$  /wordpress/wp-include/$1  [L,QSA]
    RewriteCond %{REQUEST_URI} !^/yourAliasUnrelatedToWordpress [NC,OR]
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L,QSA]
</IfModule>
...