Запуск POST-запроса к php-скрипту, который отправляет контактную почту из подпапки WordPress, приводит к 404 Не найдено - PullRequest
0 голосов
/ 24 декабря 2018

Я только что прочитал так много об этой проблеме, но я потерян здесь.Не могу заставить это s * $% & работать.Вот проблема.У графического дизайнера есть рабочий WordPress, о котором я знаю точно так же, как о каком-то детском саду в городе.Она создает целевую страницу для запуска маркетинговой кампании в подпапке landing201812 в папке public_html пространства хостинга.WordPress установлен / развернут / что угодно в корне сайта.

Сайт: https://www.newmills.com.ar/

Лендинг: https://www.newmills.com.ar/landing201812/

Каталоги:

public_html/
 - lots_of_wordpress_rubbish
 - .htaccess
 - landing201812/
    - sendform.php

Читая о способе начальной загрузки WordPress для обработки всех запросов, я изменил файл .htaccess в public_html, чтобы он исключал переписывание WordPress и сразу переходил на целевую площадку.

Исходный контент:

# 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

Фактический контент

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

# END WordPress

В обеих конфигурациях статический контент (html / css / media) обслуживается корректно, но любойphp, который я хотел бы выполнить в этой папке landing201812, завершается с ошибкой 404 Not Found.Я также пытался исключить любой маршрут посадки 201812 с директивами RewriteCond из последнего RewriteRule, например

RewriteCond %{REQUEST_URI} !.*landing201812.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Но результаты одинаковы.

Я довольно ограничен в перемещении по wordpress, так как яничего не знаю о WordPress.Я решил переместить его в подпапку public_html, но боюсь взломать его или его URL-адреса.Я пытался отключить постоянные ссылки, но нет никакого переключателя On/Off, который я мог бы найти.

Последнее, но на случай, если вы удивитесь, я попытался включить другой файл .htaccess в папку Landing201812.RewriteEngine Off не работал так, как альтернатива, которую я взял из собственной подпапки WordPress:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /landing201812/
RewriteRule ^.*\.php$ - [L]
</IfModule>

# END WordPress

Итак ... кто-нибудь знает, что не так, или даже лучше, как решить эту проблему?В Интернете все говорят, что я должен быть в порядке с правилом htaccess, или отключением постоянных ссылок, или перемещением WordPress в подпапку, а не в корневую папку.Перемещение это последнее, что я хотел бы сделать, потому что я не буду знать, как это исправить, если он сломается.Я что-то пропустил?Есть ли журнал, который я должен проверить?

Заранее спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Мне кажется, что если вы сохраните оригинальный WordPress .htaccess и измените свою файловую структуру на следующую, она будет работать на /landing201812/:

public_html/
 - lots_of_wordpress_rubbish (not my opinion, just here to match OP)
 - .htaccess
 - landing201812/
    - index.php

Ключ именования файла index.php.В противном случае вы можете вызвать файл по имени следующим образом: /landing201812/sendform.php.

0 голосов
/ 24 декабря 2018

если вы используете cpanel, это не нужно делать в .htaccess. Вместо этого, не могли бы вы сохранить исходный WordPress .htaccess и просто назначить разрешения с filezilla для 775 для папки?Кроме того, должно быть несоответствие конфигурации, попробуйте перезагрузить версию PHP в CPANEL (с PHP MANAGER) только в эту папку.

Если вы можете предоставить доступ к сайту наедине, может быть, я могу помочь вам.

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