2016-03-31 2 views
1

Я хочу изменить свою структуру permalink на /% postname% /, чтобы использовать Buddypress на сервере сайта wordpress.Wordpress permalinks 404 не найден

После некоторого испытания у меня возникли проблемы и даже с моим поиском на другом форуме, я не знаю, как его решить.

Мое разрешение .htaccess для испытания 666, поэтому wordpress должен изменить этот файл, но не будет (последний файл будет изменен при установке моего сервера). В базе данных структура permalinks успешно перешла к% postname%.

Теперь у меня есть ошибка 404 на всех страницах, к которым я хочу получить доступ.

файл .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 

Я работает Apache, так, чтобы заставить выбор ПОСРЕДНИКОВ, я модифицирован для этого в сор-включать/vars.php:

//$is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false); 
$is_apache = 1; 

Что я имею сделать сейчас?

#

EDIT: Я переустановил его, повторите попытку, чтобы сделать все это, и та же проблема ... Apache является владельцем файла, так что я действительно не понимаю ...

ответ

1

Хорошо, я решил вопрос.

Проблема, и я не указал ее в объяснении проблемы, я использую Virtualhost (у меня тоже есть сайт мониторинга на этом сервере, поэтому я хотел отделить все задачи, журналы и т. Д.), И есть проблема с VirtualHost и эта инструкция:

RewriteBase /

на самом деле, эта работа в обычном апача environnment но не в VirtualHost.

Так что я должен был сделать это, чтобы переместить мое .htaccess содержания в файле conf.d ВХоста:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName intranet.vdb.local 
    ServerAlias intranet 

    DocumentRoot /var/www/vhosts/intranet/html 

    ErrorLog /var/www/vhosts/intranet/logs/error.log 

    # Possible values include: debug, info, notice, warn, error, crit, 
    # alert, emerg. 
    LogLevel warn 

    CustomLog /var/www/vhosts/intranet/logs/access.log combined 

    <Directory "/"> 
     RewriteEngine On 
     AllowOverride None 
     Allow from 10.1.1.0/8 

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

    </Directory> 

</VirtualHost> 

И таким образом, он теперь работает!

enter image description here

Извините за не говорю вам, что это был VirtualHost, я не думаю, что это было важно для решения проблемы, даже если я предположил, что это была проблема апач.

3

Если вы могут получить доступ к панели wp-admin, а затем попробуйте обновить структуру permalink до «Plain», а затем проверьте, что вы по-прежнему получаете ошибку на странице 404 или нет.

+0

Таким образом, не имеет 4044 ошибки, и Htaccess является модифицирована. Но мне нужно использовать метод postname для использования Buddypress. И я заметил, что когда я следую за «/ index /% postname% /, он работает. Это всегда проблематично, потому что buddypress параметризуется на использование с /% postname% /, поэтому он перенаправляет меня на 404. –

+0

Если возможно, пожалуйста, укажите ссылку на свой сайт. –

+0

не может, потому что это интрасеть, и у меня нет разрешения перенаправлять наружу, событие временно –

0

В соответствии с разрешением Wordpress .htaccess должно быть 604. Примените это разрешение и проверьте его.

600 -rw------- /home/user/wp-config.php 
604 -rw----r-- /home/user/cgi-bin/.htaccess 
600 -rw------- /home/user/cgi-bin/php.ini 
711 -rwx--x--x /home/user/cgi-bin/php.cgi 
100 ---x------ /home/user/cgi-bin/php5.cgi 
1

У меня была такая же проблема, когда я развернул свой сайт Wordpress в машине aws ubuntu с сервером apache , мы должны добавить эти строки в 000-default.конф, если вы установили свой WordPress сайт в каталоге/вар/WWW/HTML

<Directory /var/www/html> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
    </Directory> 

тогда мы должны перезапустить apache2 Перезапустите Apache сервера Sudo службы информации