• Resolved hpm4

    (@hpm4)


    I manually register users from the dashboard, they receive the verification email with the link “siteurl/networksitename/wp-activate.php?key=###”

    They click the link, however receive a 404 error while receiving their username and password in their email inbox.

    My production and development servers are more or less the same, my development server works, however the production machine produces the 404.

    Can anyone help, why am I receiving the 404 error?

    OS: MS Server 2008
    WP version: 3.3.1

    I believe my config file may be at fault, however not 100% sure.

    ===========
    web.config
    ===========

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="WordPress Rule 1" stopProcessing="true">
                        <match url="^index\.php$" ignoreCase="false" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                        <action type="None" />
                    </rule>
                    <rule name="WordPress Rule 2" stopProcessing="true">
                        <match url="^([_0-9a-zA-Z-]+/)?files/(.+)" ignoreCase="false" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                        <action type="Rewrite" url="wp-includes/ms-files.php?file={R:2}" appendQueryString="false" />
                    </rule>
                    <rule name="WordPress Rule 3" stopProcessing="true">
                        <match url="^([_0-9a-zA-Z-]+/)?wp-admin$" ignoreCase="false" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                        <action type="Redirect" url="{R:1}wp-admin/" redirectType="Permanent" />
                    </rule>
                    <rule name="WordPress Rule 4" stopProcessing="true">
                        <match url="^" ignoreCase="false" />
                        <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
                        </conditions>
                        <action type="None" />
                    </rule>
                    <rule name="WordPress Rule 5" stopProcessing="true">
                        <match url="^[_0-9a-zA-Z-]+/(wp-*.*)" ignoreCase="false" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                        <action type="Rewrite" url="{R:1}" />
                    </rule>
                    <rule name="WordPress Rule 6" stopProcessing="true">
                        <match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                        <action type="Rewrite" url="{R:1}" />
                    </rule>
                    <rule name="WordPress Rule 7" stopProcessing="true">
                        <match url="." ignoreCase="false" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                        <action type="Rewrite" url="index.php" />
                    </rule>
                </rules>
            </rewrite>
    	<defaultDocument>
                <files>
                    <clear />
                    <add value="index.php" />
                    <add value="home.php" />
                    <add value="default.php" />
                    <add value="index.htm" />
                    <add value="index.html" />
                </files>
            </defaultDocument>
            <httpErrors>
                <remove statusCode="404" subStatusCode="-1" />
                <error statusCode="404" prefixLanguageFilePath="" path="/index.php?error=404" responseMode="ExecuteURL" />
            </httpErrors>
        </system.webServer>
    </configuration>
Viewing 10 replies - 1 through 10 (of 10 total)
  • Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Advisor and Activist

    What version of IIS are you on?

    Thread Starter hpm4

    (@hpm4)

    Running IIS 7
    plus I have installed the URL Rewrite module.

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Advisor and Activist

    I’ve appealed to the IIS folks, as it’s a little out of my range :/

    You could try upgrading to 3.4.1 since I know there was some fixes made in regards to IIS redirects there in.

    Thread Starter hpm4

    (@hpm4)

    Thanks.

    I am losing hair over this, as it works ok in development, but not in production.

    I have mirror the site and I still cannot figure out what is happening.

    Come on, someone out there may know whats happening or has experienced a similar issue.

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Advisor and Activist

    Whats the difference between your dev and prod setups?

    Thread Starter hpm4

    (@hpm4)

    Production:
    Server 2008
    WordPress deployed using the hosting company one click install feature.
    IIS URL Rewrite module (not sure which version was installed)

    Development
    Windows 7
    Installed all components manually (PHP, MySQL)
    IIS URL Rewrite module 2

    Operating system shouldn’t be a problem as both run the same version of IIS, that is important.

    Plugins are more or less the same, I have even gone as far as disabling all plugins (my clients weren’t too happy about that.)

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Advisor and Activist

    Sadly, it’s got to be a server thing then :/ Either an add-on or a tool configuration isn’t right.

    Thread Starter hpm4

    (@hpm4)

    Need a bit of help.

    If I copy the activation and change it from siteurl/networksitename/wp-activate.php?key=### to siteurl/wp-activate.php?key=###, it works.
    Essentially removing the network site name and pointing to the default site.

    I haven’t worked much with IIS URL rewrite module, therefore I would be greatful for a bit of help with the following.

    Thread Starter hpm4

    (@hpm4)

    <rule name="Redirect:Activation" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
                        <match url="^(([_0-9a-zA-Z-]+/)(wp-*.*)" />
                        <action type="Redirect" url="{R:1}{R:3}" appendQueryString="false" />
                    </rule>

    Wrote my redirect rule, it works on development but not on production site.
    Need to take a break and think about what is happening.

    Thread Starter hpm4

    (@hpm4)

    Created a redirect using IIS URL rewrite module and moved it to the the top of the URL rewrite list.

    <rule name="Redirect: Activation link" enabled="true" stopProcessing="true">
                        <match url="^[_0-9a-zA-Z-]+/(wp-activate.*)" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                        <action type="Redirect" url="{R:1}" appendQueryString="true" />
                    </rule>

    Worked!

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘User registration activation link 404’ is closed to new replies.