We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 13284
    • 95 Posts
    Greetings everyone,

    Ok I made a really really stupid mistake and didn’t copy the original .htaccess before editing it for friendly URL so /shame

    Anyway, I’m not able to get the friendly URLs working right. I have looked over the http://rtfm.modx.com/display/revolution20/Using+Friendly+URLs page and some of the .htaccess information wasn’t in my .htaccess.

    What should be displayed is this page:
    http://www.tapanime.com/index.php?id=2

    When using the possible friendly URL:
    http://www.tapanime.com/test.php

    It displays the index/main page instead of the page of id=2.

    Manager the friendly urls is turned on.

    Template:
     <base href="[[!++site_url]]"></base>


    My .htaccess is:
    # MODx supports Friendly URLs via this .htaccess file. You must serve web
    # pages via Apache with mod_rewrite to use this functionality, and you must
    # change the file name from ht.access to .htaccess.
    #
    # Make sure RewriteBase points to the directory where you installed MODx.
    # E.g., "/modx" if your installation is in a "modx" subdirectory.
    #
    # You may choose to make your URLs non-case-sensitive by adding a NC directive
    # to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
    
    RewriteEngine On
    RewriteBase /
    
    
    
    # Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
    #RewriteCond %{HTTP_HOST} .
    #RewriteCond %{HTTP_HOST} !^tapanime\.com [NC]
    #RewriteRule (.*) http://tapanime.com/$1 [R=301,L]
    #
    # or for the opposite tapanime.com -> www.tapanime.com use the following
    # DO NOT USE BOTH
    #
    #RewriteCond %{HTTP_HOST} .
    #RewriteCond %{HTTP_HOST} !^www\.tapanime\.com [NC]
    #RewriteRule (.*) http://www.tapanime.com/$1 [R=301,L]
    
    
    
    # Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
    # https://www.tapanime.com when your cert only allows https://secure.tapanime.com
    #RewriteCond %{SERVER_PORT} !^443
    #RewriteRule (.*) https://tapanime.com.com/$1 [R=301,L]
    
    
    
    # The Friendly URLs part
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    
    
    
    # Make sure .htc files are served with the proper MIME type, which is critical # for XP SP2. Un-comment if your host allows htaccess MIME type overrides.
    
    #AddType text/x-component .htc
    
    
    
    # If your server is not already configured as such, the following directive
    # should be uncommented in order to set PHP's register_globals option to OFF.
    # This closes a major security hole that is abused by most XSS (cross-site
    # scripting) attacks. For more information: http://php.net/register_globals
    #
    # To verify that this option has been set to OFF, open the Manager and choose
    # Reports -> System Info and then click the phpinfo() link. Do a Find on Page
    # for "register_globals". The Local Value should be OFF. If the Master Value
    # is OFF then you do not need this directive here.
    #
    # IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
    #
    # Your server does not allow PHP directives to be set via .htaccess. In that
    # case you must make this change in your php.ini file instead. If you are
    # using a commercial web host, contact the administrators for assistance in
    # doing this. Not all servers allow local php.ini files, and they should
    # include all PHP configurations (not just this one), or you will effectively
    # reset everything to PHP defaults. Consult www.php.net for more detailed
    # information about setting PHP directives.
    
    #php_flag register_globals Off
    
    
    
    # For servers that support output compression, you should pick up a bit of
    # speed by un-commenting the following lines.
    
    #php_flag zlib.output_compression On
    #php_value zlib.output_compression_level 5
    
    
    
    # The following directives stop screen flicker in IE on CSS rollovers. If
    # needed, un-comment the following rules. When they're in place, you may have
    # to do a force-refresh in order to see changes in your designs.
    
    #ExpiresActive On
    #ExpiresByType image/gif A2592000
    #ExpiresByType image/jpeg A2592000
    #ExpiresByType image/png A2592000
    #BrowserMatch "MSIE" brokenvary=1
    #BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
    #BrowserMatch "Opera" !brokenvary
    #SetEnvIf brokenvary 1 force-no-vary
    
    # Use PHP5 Single php.ini as default
    AddHandler application/x-httpd-php5s .php
    


    Any thoughts on what I have done wrong and what needs fixed?
      • 28042 ☆ A M B ☆
      • 24,524 Posts
      Is your site installed in the web, root (www or htdocs or public_html), or in a subdirectory?
        Studying MODX in the desert - http://sottwell.com
        Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
        Join the Slack Community - http://modx.org
        • 13284
        • 95 Posts
        It is in the directory of /public_html

        I’m using bluehost
          • 28042 ☆ A M B ☆
          • 24,524 Posts
          I don’t use Revo, but I do use Bluehost, and here’s mine

          # Use PHP5CGI as default
          AddHandler fcgid-script .php
          
          RewriteEngine On
          RewriteBase /
          
          RewriteCond % ^www.sottwell.com [NC]
          RewriteRule ^(.*)$ http://sottwell.com/$1 [L,R=301]
          
          # Fix Apache internal dummy connections from breaking [(site_url)] cache
          RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
          RewriteRule .* - [F,L]
          
          # Exclude /assets and /manager directories and images from rewrite rules
          RewriteRule ^(manager|assets|jobs|petshop)/*$ - [L]
          RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]
          
          # For Friendly URLs
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
          
            Studying MODX in the desert - http://sottwell.com
            Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
            Join the Slack Community - http://modx.org
            • 13284
            • 95 Posts
            Thanks for the reply susan.

            I also have added PHP under content types as well as txt/html just to be safe.

            I made a new htaccess file with just what you had and changed the sottwell to tapanime. Still same issue.
              • 9102 ☆ A M B ☆
              • 318 Posts
              http://www.tapanime.com/test.php is returning 404, so it’s not the homepage you’re seeing, it’s the 404 not found error page, which in your case is the same thing, but it’s an important difference.

              I think your .htaccess is working fine and there is something wrong with friendly URL settings. The URL that .htaccess is correctly rewriting to is http://www.tapanime.com/index.php?q=test.php and that returns 404 as well -- to me that indicates the problem is not with .htaccess but with the way MODx is handling the request for that URL.

              Some settings to check:


              • Use Friendly URLs and Use Friendly Aliases should both be set to "yes"

              • Make sure that the alias of the test page really is "test"

              • If the test page is a container, set the container suffix to .php (assuming that’s what you want your container URLs to look like)

              • If the test page is the child of some other page, (and if you want all files to appear to be in the root directory) set Use Friendly Alias Path to "no"

              • Under system->content types, set the file extension for text/html to ".php" (this is not the problem, at least not the only problem, because the default .html doesn’t work either, but you’ll need to set this correctly for the URL you want to work)
                • 13284
                • 95 Posts
                Thanks for the reply esnyder,

                Both Friendly URLs and Use Friendly Aliases are set to "yes"

                The resource alias is test.php is what I have it listed as.

                This is just as it looks a test page so I can tweak the template, make sure menus work, and make sure everything is ok (IE: friendly URLs), so it’s not a child of anything or meant to be part of a container.

                Under system->content types, set the file extension for text/html to ".php" (this is not the problem, at least not the only problem, because the default .html doesn’t work either, but you’ll need to set this correctly for the URL you want to work)

                I’m not 100% sure what you meant by this statement. I did create a content type called it php and made it text/html with the extension of .php

                Thanks for the reply, I’m still kind of confused on this one myself.
                  • 3749
                  • 24,544 Posts
                  Have you tried setting the extension to html?

                  Your aliases don’t actually have a .php on the end of them, do they?
                    Did I help you? Buy me a beer
                    Get my Book: MODX:The Official Guide
                    MODX info for everyone: http://bobsguides.com/modx.html
                    My MODX Extras
                    Bob's Guides is now hosted at A2 MODX Hosting
                    • 9102 ☆ A M B ☆
                    • 318 Posts
                    http://www.tapanime.com/test.php.html

                    OK, two things. First, remove the .php from your alias, it should just be "test"

                    Second, don’t create a new content type of php, just set the extension for the existing content type HTML to .php. Your resource is not strictly speaking a PHP resource, it’s just HTML, but it’s fine to use an extension of .php for HTML resources. I do that on my site for historical reasons and it works fine.
                      • 13284
                      • 95 Posts
                      Super thanks, esnyder.

                      That was the issue. As soon as I changed the HTML to .php and renamed my page, cleared the cache works perfectly. Great thanks.