Установите WordPress в свой собственный каталог, но постоянная ссылка не удалась - PullRequest
5 голосов
/ 16 июля 2011

Я установил WordPress на EC2, расположенный в /var/www/html/wordpress.Я следовал руководству по WordPress, чтобы скопировать index.php и .htaccess в root, который является /var/www/html, и изменил index.php и настройки в панели администратора.Это работает очень хорошо, если я придерживаюсь только ссылки по умолчанию, такой как: http://www.cubcanfly.com/?p=5, однако другие параметры постоянной ссылки не работают, фактически все параметры постоянной ссылки.

Мой .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>

в / etc / httpd / conf / httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

НЕ комментируется.

Заранее спасибо

Ответы [ 3 ]

7 голосов
/ 16 июля 2011

Наконец я нахожу проблему.Это опция AllowOverride в httpd.conf, которая находится в /etc/httpd/conf/httpd.conf, «sudo find / -name httpd.conf -print» может легко найти его.Я изменил любой AllowOverride NONE-> ALL, где я могу найти в файле.Он просто работал, даже без каких-либо изменений .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 работает на моем хосте, на котором WordPress установлен в своем собственном каталоге.

Спасибо @adlawson @WillБез вас я не смог бы найти проблему.

http://codex.wordpress.org/Using_Permalinks этого официального руководства вполне достаточно, чтобы использовать постоянную ссылку, даже если WordPress установлен в подкаталог.

4 голосов
/ 16 июля 2011

Посмотрите на этот пост Как работает RewriteBase в .htaccess

Вам нужно изменить RewriteBase / на RewriteBase /wordpress

0 голосов
/ 25 февраля 2014

Мне не нужно было редактировать RewriteBase в .htaccess. Проблема действительно в конфигурации httpd для машин EC2.

Мой .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>

В /etc/httpd/conf/httpd.conf -

<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
AllowOverride All
...