Skip to content

Yet another 404 error post

edited August 2021 in Troubleshooting

Just upgraded from Sendy 2.x to the newest 5.x and now getting the same 404 error at /login as many dozens of others have here.

Unfortunately, after going through dozens of these threads (and the help article, of course, where #2 is just a "look at this same article") I'm not seeing anything helpful.

Facts:

  1. The .htaccess file is there and perfectly matches the one from the archive.
  2. The config.php path is using "https" and no trailing slash.
  3. Tried going so far as to force SSL while troubleshooting (+ confirmed that does rewrite correctly), so it's not a non-SSL URL to blame.
  4. Tried another device to rule out a bad cached redirect.
  5. I've re-uploaded all the files.
  6. The same sort of mod_rewrite friendly URL logic works with other applications on the same vhost.
  7. If I manually add ".php" at the end of every URL in Chrome, all of them do seem to work fine, I can log in, browse dashboard, etc.

Comments

  • BenBen
    edited August 2021

    Hi,

    Try changing AllowOverride None to AllowOverride All for your web root in your Apache’s httpd.conf so that your server does not ignore Sendy’s .htaccess file. Also remember to reboot Apache after making changes to httpd.conf.

    Thanks.

    Best regards,
    Ben

  • Thanks, Ben.

    From point #6 above, seems to be a non-issue? But contacted our managed hosting provider to give it a shot all the same.

    Also, I'm now noticing some errors in the logs, although possibly just a side-effect of these unresolved endpoints.

    [23-Aug-2021 10:04:36 America/Detroit] PHP Notice: Undefined index: userID in /chroot/home/xx/xx.com/html/inspirebot/includes/functions.php(1) : eval()'d code on line 144
    [23-Aug-2021 10:04:36 America/Detroit] PHP Notice: Undefined index: license in /chroot/home/xx/xx.com/html/inspirebot/includes/functions.php(1) : eval()'d code on line 264

  • Host pulled out the following:

    ```

    I have checked /etc/httpd/conf/httpd.conf and could see below details related to the AllowOverride settings.


    Options FollowSymLinks
    AllowOverride None


    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all


    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    <Directory "/var/www/error">
      AllowOverride None
      Options IncludesNoExec
      AddOutputFilter Includes html
      AddHandler type-map var
      Order allow,deny
      Allow from all
      LanguagePriority en es de fr
      ForceLanguagePriority Prefer Fallback
    </Directory>
    



    AllowOverride All
    Options None
    Order allow,deny
    Allow from all

  • Hi,

    Looks fine.

    Can you send the contents of the .htaccess in your Sendy directory?

    Thanks.

    Best regards,
    Ben

  • Yep. Was previously just the raw default from the .zip (which wasn't working), I added a couple of lines to force SSL (which is currently working).

    ErrorDocument 404 "[404 error] If you're seeing this error after install, check this FAQ for the fix: https://sendy.co/troubleshooting#404-error"

    part of sendy, maybe causing errors?

    Options +FollowSymLinks
    Options -Multiviews

    Enable mod_rewrite

    RewriteEngine On

    Force SSL

    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    The rest of this is default Sendy

    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^([a-zA-Z0-9-]+)$ $1.php [L]

    Link tracker

    RewriteRule ^l/([a-zA-Z0-9/]+)$ l.php?i=$1 [L]

    Open tracker

    RewriteRule ^t/([a-zA-Z0-9/]+)$ t.php?i=$1 [L]

    Web version

    RewriteRule ^w/([a-zA-Z0-9/]+)$ w.php?i=$1 [L]

    unsubscribe

    RewriteRule ^unsubscribe/(.*)$ unsubscribe.php?i=$1 [L]

    subscribe

    RewriteRule ^subscribe/(.*)$ subscribe.php?i=$1 [L]

  • Not sure how to wrap code formatting on this forum software... lmk if there's a way to clean that up :)

  • Try adding RewriteBase / after the line RewriteEngine On?

  • That did it! Thanks for your help. :)

This discussion has been closed.