SitePoint Sponsor

User Tag List

Results 1 to 8 of 8

Thread: Force www. in URL problem. Please help.

  1. #1
    SitePoint Zealot ComposerRyan's Avatar
    Join Date
    Oct 2003
    Location
    USA
    Posts
    183
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Force www. in URL problem. Please help.

    Hello, I need to force the www. in my domain name. I have added a script in my htaccess file that looks like this...I have tried both of the methods listed below:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www.your_domain.com$
    RewriteRule ^(.*)$ http://www.your_domain.com/$1 [R=301]
    Method 2:

    RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
    RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
    Neither of this work...I believe the first one redirects my site to www.mydomain/public_Html/

    And then I noticed that neither of them apply the settings to ALL sub folders.

    I must be using the wrong script...anyone help me out here?

    Thanks!

    Ryan

  2. #2
    SitePoint Zealot ComposerRyan's Avatar
    Join Date
    Oct 2003
    Location
    USA
    Posts
    183
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I figured out the cause of the problem, I just don't know how to fix it. I edited the .htaccess file in my root /public_html/ directory. However, my actual site is a Joomla site located underneath the /site folder and it has it's own .htaccess file. This file inside the /site/ directory is causing problems:

    ##
    # @version $Id: htaccess.txt 5975 2006-12-11 01:26:33Z robs $
    # @package Joomla
    # @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
    # @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
    # Joomla! is Free Software
    ##


    #####################################################
    # READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
    #
    # The line just below this section: 'Options +FollowSymLinks' may cause problems
    # with some server configurations. It is required for use of mod_rewrite, but may already
    # be set by your server administrator in a way that dissallows changing it in
    # your .htaccess file. If using it causes your server to error out, comment it out (add # to
    # beginning of line), reload your site in your browser and test your sef url's. If they work,
    # it has been set by your server administrator and you do not need it set here.
    #
    # Only use one of the two SEF sections that follow. Lines that can be uncommented
    # (and thus used) have only one #. Lines with two #'s should not be uncommented
    # In the section that you don't use, all lines should start with #
    #
    # For Standard SEF, use the standard SEF section. You can comment out
    # all of the RewriteCond lines and reduce your server's load if you
    # don't have directories in your root named 'component' or 'content'
    #
    # If you are using a 3rd Party SEF or the Core SEF solution
    # uncomment all of the lines in the '3rd Party or Core SEF' section
    #
    #####################################################

    ##### SOLVING PROBLEMS WITH COMPONENT URL's that don't work #####
    # SPECIAL NOTE FOR SMF USERS WHEN SMF IS INTEGRATED AND BRIDGED
    # OR ANY SITUATION WHERE A COMPONENT's URL's AREN't WORKING
    #
    # In both the 'Standard SEF', and '3rd Party or Core SEF' sections the line:
    # RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
    # May need to be uncommented. If you are running your Joomla!/Mambo from
    # a subdirectory the name of the subdirectory will need to be inserted into this
    # line. For example, if your Joomla!/Mambo is in a subdirectory called '/test/',
    # change this:
    # RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
    # to this:
    # RewriteCond %{REQUEST_URI} ^(/test/component/option,com) [NC,OR] ##optional - see notes##
    #
    #####################################################


    ## Can be commented out if causes errors, see notes above.
    Options +FollowSymLinks

    #
    # mod_rewrite in use

    RewriteEngine On

    # Uncomment following line if your webserver's URL
    # is not directly related to physical file paths.
    # Update Your Joomla!/MamboDirectory (just / for root)

    # RewriteBase /


    ########## Begin - Joomla! core SEF Section
    ############# Use this section if using ONLY Joomla! core SEF
    ## ALL (RewriteCond) lines in this section are only required if you actually
    ## have directories named 'content' or 'component' on your server
    ## If you do not have directories with these names, comment them out.
    #
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
    RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
    RewriteRule ^(content/|component/) index.php
    #
    ########## End - Joomla! core SEF Section



    ########## Begin - 3rd Party SEF Section
    ############# Use this section if you are using a 3rd party (Non Joomla! core) SEF extension - e.g. OpenSEF, 404_SEF, 404SEFx, SEF Advance, etc
    #
    #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
    #RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
    #RewriteCond %{REQUEST_FILENAME} !-f
    #RewriteCond %{REQUEST_FILENAME} !-d
    #RewriteRule (.*) index.php
    #
    ########## End - 3rd Party SEF Section



    ########## Begin - Rewrite rules to block out some common exploits
    ## If you experience problems on your site block out the operations listed below
    ## This attempts to block the most common type of exploit `attempts` to Joomla!
    #
    # Block out any script trying to set a mosConfig value through the URL
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
    # Block out any script trying to base64_encode crap to send via URL
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
    # Block out any script that includes a <script> tag in URL
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Send all blocked request to homepage with 403 Forbidden error!
    RewriteRule ^(.*)$ index.php [F,L]
    #
    ########## End - Rewrite rules to block out some common exploits

  3. #3
    SitePoint Zealot ComposerRyan's Avatar
    Join Date
    Oct 2003
    Location
    USA
    Posts
    183
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It seems to work sometimes, but I'm running into major problems still...

    /public_html/site htaccess file:

    ##
    # @version $Id: htaccess.txt 5975 2006-12-11 01:26:33Z robs $
    # @package Joomla
    # @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
    # @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
    # Joomla! is Free Software
    ##


    #####################################################
    # READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
    #
    # The line just below this section: 'Options +FollowSymLinks' may cause problems
    # with some server configurations. It is required for use of mod_rewrite, but may already
    # be set by your server administrator in a way that dissallows changing it in
    # your .htaccess file. If using it causes your server to error out, comment it out (add # to
    # beginning of line), reload your site in your browser and test your sef url's. If they work,
    # it has been set by your server administrator and you do not need it set here.
    #
    # Only use one of the two SEF sections that follow. Lines that can be uncommented
    # (and thus used) have only one #. Lines with two #'s should not be uncommented
    # In the section that you don't use, all lines should start with #
    #
    # For Standard SEF, use the standard SEF section. You can comment out
    # all of the RewriteCond lines and reduce your server's load if you
    # don't have directories in your root named 'component' or 'content'
    #
    # If you are using a 3rd Party SEF or the Core SEF solution
    # uncomment all of the lines in the '3rd Party or Core SEF' section
    #
    #####################################################

    ##### SOLVING PROBLEMS WITH COMPONENT URL's that don't work #####
    # SPECIAL NOTE FOR SMF USERS WHEN SMF IS INTEGRATED AND BRIDGED
    # OR ANY SITUATION WHERE A COMPONENT's URL's AREN't WORKING
    #
    # In both the 'Standard SEF', and '3rd Party or Core SEF' sections the line:
    # RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
    # May need to be uncommented. If you are running your Joomla!/Mambo from
    # a subdirectory the name of the subdirectory will need to be inserted into this
    # line. For example, if your Joomla!/Mambo is in a subdirectory called '/test/',
    # change this:
    # RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
    # to this:
    # RewriteCond %{REQUEST_URI} ^(/test/component/option,com) [NC,OR] ##optional - see notes##
    #
    #####################################################


    ## Can be commented out if causes errors, see notes above.
    Options +FollowSymLinks

    #
    # mod_rewrite in use

    RewriteEngine On

    RewriteCond %{HTTP_HOST} !^www.xboxgamepad.com$
    RewriteRule ^(.*)$ http://www.xboxgamepad.com/site$1 [R=301]

    # Uncomment following line if your webserver's URL
    # is not directly related to physical file paths.
    # Update Your Joomla!/MamboDirectory (just / for root)

    # RewriteBase /


    ########## Begin - Joomla! core SEF Section
    ############# Use this section if using ONLY Joomla! core SEF
    ## ALL (RewriteCond) lines in this section are only required if you actually
    ## have directories named 'content' or 'component' on your server
    ## If you do not have directories with these names, comment them out.
    #
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} ^(/site/component/option,com) [NC,OR] ##optional - see notes##
    RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
    RewriteRule ^(content/|component/) index.php
    #
    ########## End - Joomla! core SEF Section



    ########## Begin - 3rd Party SEF Section
    ############# Use this section if you are using a 3rd party (Non Joomla! core) SEF extension - e.g. OpenSEF, 404_SEF, 404SEFx, SEF Advance, etc
    #
    #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
    #RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
    #RewriteCond %{REQUEST_FILENAME} !-f
    #RewriteCond %{REQUEST_FILENAME} !-d
    #RewriteRule (.*) index.php
    #
    ########## End - 3rd Party SEF Section



    ########## Begin - Rewrite rules to block out some common exploits
    ## If you experience problems on your site block out the operations listed below
    ## This attempts to block the most common type of exploit `attempts` to Joomla!
    #
    # Block out any script trying to set a mosConfig value through the URL
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
    # Block out any script trying to base64_encode crap to send via URL
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
    # Block out any script that includes a <script> tag in URL
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Send all blocked request to homepage with 403 Forbidden error!
    RewriteRule ^(.*)$ index.php [F,L]
    #
    ########## End - Rewrite rules to block out some common exploits
    /public_html/ .htaccess file:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
    RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

  4. #4
    Certified Ethical Hacker silver trophybronze trophy dklynn's Avatar
    Join Date
    Feb 2002
    Location
    Auckland
    Posts
    14,343
    Mentioned
    15 Post(s)
    Tagged
    2 Thread(s)
    CR,

    The DocumentRoot's .htaccess will take priority over the .htaccess in any subsequent directory in the path so your original mod_rewrite (despite the (.*) and not knowing which version of Apache you're using - it DOES make a difference) should work.

    However, when you get to the Joomla directory, change
    Code:
    RewriteCond &#37;{HTTP_HOST} !^www.xboxgamepad.com$
    RewriteRule ^(.*)$ http://www.xboxgamepad.com/site$1 [R=301]
    TO
    Code:
    RewriteCond %{HTTP_HOST} !^www\.xboxgamepad\.com$ [NC]
    RewriteRule .? http://www.xboxgamepad.com/site/%{REQUEST_URI} [R=301,L]
    Lots of minor errors that would prevent your code from working:

    Escape the dot character

    No Case domain names

    You don't need to capture the {REQUEST_URI} so don't!

    You forgot the / after site

    You forgot the Last flag - if you'd done that before this code, it would be AND'ed and not likely to ever match.

    Regards,

    DK
    David K. Lynn - Data Koncepts is a long-time WebHostingBuzz (US/UK)
    Client and (unpaid) WHB Ambassador
    Updated mod_rewrite Tutorial Article (setup, config, test & write
    mod_rewrite regex w/sample code) and Code Generator

  5. #5
    SitePoint Zealot ComposerRyan's Avatar
    Join Date
    Oct 2003
    Location
    USA
    Posts
    183
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hey David,However, it does not seem to be working as when I inserted the code into the joomla folder, I got the following outputted URL:

    http://www.xboxgamepad.com/public_html/xbox/

    It added the directory /public_html/ at the end...

    Also, I tried deleting the original htaccess file located undernath /public_html however, I got this URL returned:

    http://www.xboxgamepad.com/xbox//xbox/

    Why is this? Thanks again for your help.

  6. #6
    SitePoint Zealot ComposerRyan's Avatar
    Join Date
    Oct 2003
    Location
    USA
    Posts
    183
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Okay, I messed with it some more and found out that it didn't even need the /xbox directory specified for some reason. This is the code that is working for me now (so far...fingers crossed!)

    RewriteCond &#37;{HTTP_HOST} !^www\.xboxgamepad\.com$ [NC]
    RewriteRule .? http://www.xboxgamepad.com%{REQUEST_URI} [R=301,L]

  7. #7
    SitePoint Zealot ComposerRyan's Avatar
    Join Date
    Oct 2003
    Location
    USA
    Posts
    183
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Okay, I've tested it and it's working so far.

    THANK YOU FOR THE HELP! I appreciate it...I'll be learning PHP soon and will probably be buying some of your books from this site. You guys have helped so much.

  8. #8
    Certified Ethical Hacker silver trophybronze trophy dklynn's Avatar
    Join Date
    Feb 2002
    Location
    Auckland
    Posts
    14,343
    Mentioned
    15 Post(s)
    Tagged
    2 Thread(s)
    CR,

    I think that the message with your directories is that your DocumentRoot is located in the public_html folder (which is standard) so that public_html should NEVER be addressed in a URL.

    I'm not sure about your // problem but might be able to tell if I saw the mod_rewrite code that generated that. No problem now that you've resolved the above problem, though!

    Regards,

    DK
    David K. Lynn - Data Koncepts is a long-time WebHostingBuzz (US/UK)
    Client and (unpaid) WHB Ambassador
    Updated mod_rewrite Tutorial Article (setup, config, test & write
    mod_rewrite regex w/sample code) and Code Generator

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •