2015-04-20 2 views
0

У меня возникла проблема с формой, которая выдает ошибку 404 при представлении, но только когда определенные слова находятся в теле сообщения.404 Ошибка в форуме Отправить в подпапке Wordpress

Это моя анкета.

<form role="form" action="edit-training-page.php?id=<?php echo $training_id; ?>" method="post" onSubmit="return confirm('Confirm Updating Training Page?');"> 
      <div class="form-group fl w300 mr"> 
       <label>Training Name</label> 
       <input name="training_title" type="text" class="form-control" placeholder="" required value="<?php echo $training_title ; ?>"> 
      </div> 
      <div class="form-group fl w200 mr"> 
       <label>Short URL</label> 
       <input name="training_url" type="text" class="form-control" placeholder="" required value="<?php echo $training_url ; ?>"> 
      </div> 
      <div class="form-group fl w100 mr"> 
       <label>Sort Order</label> 
       <input name="training_order" type="text" class="form-control" placeholder="" required value="<?php echo $training_order ; ?>"> 
      </div> 
      <div class="form-group fl mr" style="width:100%;"> 
      <textarea name="traininfo" rows="20" cols="80" /><?php echo $traininfo ; ?></textarea> 
      </div> 
      <div class="clear mt " > 
      <input type="hidden" name="training_id" value="<?php echo $training_id; ?>" /> 
      <button type="submit" name="update" class="btn btn-success fl mr"><i class="glyphicon glyphicon-edit"></i> Update Training Page</button> 


     </form> 

У нас есть подпапка внутри WordPress для системы приборной панели, не связанной с WordPress. Это все скрипт, управляемый php. Он находится в папке в корне сервера, эта форма предназначена для добавления учебного контента. Я переношу учебную документацию из другого места в эту новую систему. Он беспорядочно бросает 404 при подаче, даже если URL-адрес верен. Например, сегодня, если слово «from» было в поле textarea, оно дало бы экран ошибки wordpress 404 в представлении. Я проверил зарезервированный список WordPress в WordPress, и ни одно из полей ввода не является зарезервированными именами.

Я попытался исключить папку, отредактировав файл .htaccess и изменив строку на RewriteRule ./ /index.php [L] - Без изменений.

PHP-код для обработки формы находится на той же странице.

Любая помощь будет оценена по достоинству.

ответ

0

Это не проблема с WordPress. Это, скорее всего, связано с включением и настройкой mod_security в Apache. Таким образом, вам нужно будет либо изменить конфигурацию, либо просто избавиться от этого конкретного модуля, если сможете.

Попробуйте это в .htaccess, чтобы отключить его:

Для mod_security:

# Turn off mod_security filtering. 
<IfModule mod_security.c> 
    SecFilterEngine Off 
</IfModule> 

Для mod_security2:

# Turn off mod_security filtering. 
<IfModule mod_security2.c> 
    SecRuleEngine Off 
</IfModule 

Однако, обратите внимание, что Apache может быть сконфигурирован в таких способ не позволять отключать его .htaccess.

+0

Пробовал эти файлы в .htaccess в корневой папке, и это заставило сторону wordpress вообще не работать. Пробовал это в папке сценария и с mod_security.c и все еще дает проблему, если mod_secruity2 находится в htaccess, я не могу получить доступ к этой папке вообще – user1443402

+0

. Тогда вам придется копаться в вашей глобальной конфигурации apache, а не использовать .htaccess , Если у вас нет доступа к этому, то работайте с вашим хостинг-провайдером. –

+0

Вы должны иметь возможность использовать функцию whitelisting [mod_security] (http://resources.infosecinstitute.com/avoiding-mod-security-false-positives-white-listing/). –

Смежные вопросы