PDA

View Full Version : Incorrect link display error, not forward to home


pjkcards
01-01-2009, 12:39 AM
Hello,
I want to display an error page when an invalid link is accessed, instead of having it forward to my homepage like it does now.

For example, this is a correct link to a post:
http://www.domain.com/forum/showthread.php?p=113579

When someone goes here (incorrect), I want it to display an error, saying it was invalid, instead of forwarding it to my homepage:
http://www.domain.com/showthread.php?p=113579

How do I do this?

Here is a post from vB I made, and they told me to come over here:
http://www.vbulletin.com/forum/showthread.php?p=1668623#post1668623

Thanks in advance.

Dismounted
01-01-2009, 03:45 AM
Please post the .htaccess that is in the public_html folder.

pjkcards
01-01-2009, 10:51 PM
Here is the .htaccess from the public_html (I have a Joomla site in public_html). Thanks:

##
# @version $Id: htaccess.txt 2368 2006-02-14 17:40:02Z stingrey $
# @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 Standard SEF Section
## 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 Standard SEF Section


########## Begin 3rd Party or Core SEF Section
#
#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 or Core SEF Section

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# php_value upload_max_filesize 200KB

RewriteRule ^(.*)/(styleid=(.*))$ showthread.php?&%{QUERY_STRING} [L]
RewriteRule ^(.*)/(showthread\.php)$ showthread.php?&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-new.html showthread.php?t=$3&goto=newpost&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-last.html showthread.php?t=$3&goto=lastpost&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-print.html/(.*)$ printthread.php?t=$3&%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^(.*)/t-(.*)-(.*)-print.html printthread.php?t=$3&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-nextnewest.html showthread.php?t=$3&goto=nextnewest&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-nextoldest.html showthread.php?t=$3&goto=nextoldest&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^p-(.*)-post(.*)/postcount(.*).html showpost.php?p=$2&postcount=$3&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-page(.*).html showthread.php?t=$3&page=$4&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)/page(.*).html showthread.php?t=$3&page=$4&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*).html/(.*)$ showthread.php?t=$3&%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^(.*)/t-(.*)-(.*).html showthread.php?t=$3&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^f-(.*)-(.*)/misc\.php$ misc.php?&%{QUERY_STRING}&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^members/(.*)-(.*).html member.php?u=$2&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^u-(.*)-(.*).html(.*) member.php?u=$2&is_vrewrite=yes&%{QUERY_STRING}$3 [L]
RewriteRule ^u-(.*)-(.*).html member.php?u=$2&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^f-(.*)-(.*)/page(.*).html/(.*)$ forumdisplay.php?f=$2&&page=$3%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^f-(.*)-(.*)/(.*)$ forumdisplay.php?f=$2&&%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^f-(.*)-(.*)/$ forumdisplay.php?f=$2&%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^search-(.*).html$ search.php?do=$1 [L]

pjkcards
01-25-2009, 07:17 PM
Any further help on this would be great. People keep going to pages that don't exist and it ends up forwarding to the home, and they don't realize that the home was not the correct place...so I want to display a page saying "the link you entered is invalid or no longer exists".

Thanks.

Dismounted
01-26-2009, 04:45 AM
This forum URL rewriting part is probably giving you grief:
RewriteRule ^(.*)/(styleid=(.*))$ showthread.php?&%{QUERY_STRING} [L]
RewriteRule ^(.*)/(showthread\.php)$ showthread.php?&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-new.html showthread.php?t=$3&goto=newpost&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-last.html showthread.php?t=$3&goto=lastpost&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-print.html/(.*)$ printthread.php?t=$3&%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^(.*)/t-(.*)-(.*)-print.html printthread.php?t=$3&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-nextnewest.html showthread.php?t=$3&goto=nextnewest&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-nextoldest.html showthread.php?t=$3&goto=nextoldest&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^p-(.*)-post(.*)/postcount(.*).html showpost.php?p=$2&postcount=$3&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)-page(.*).html showthread.php?t=$3&page=$4&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*)/page(.*).html showthread.php?t=$3&page=$4&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^(.*)/t-(.*)-(.*).html/(.*)$ showthread.php?t=$3&%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^(.*)/t-(.*)-(.*).html showthread.php?t=$3&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^f-(.*)-(.*)/misc\.php$ misc.php?&%{QUERY_STRING}&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^members/(.*)-(.*).html member.php?u=$2&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^u-(.*)-(.*).html(.*) member.php?u=$2&is_vrewrite=yes&%{QUERY_STRING}$3 [L]
RewriteRule ^u-(.*)-(.*).html member.php?u=$2&is_vrewrite=yes&%{QUERY_STRING} [L]
RewriteRule ^f-(.*)-(.*)/page(.*).html/(.*)$ forumdisplay.php?f=$2&&page=$3%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^f-(.*)-(.*)/(.*)$ forumdisplay.php?f=$2&&%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^f-(.*)-(.*)/$ forumdisplay.php?f=$2&%{QUERY_STRING}&is_vrewrite=yes [L]
RewriteRule ^search-(.*).html$ search.php?do=$1 [L]
Remove it, and place it in a .htaccess file in the forum directory, not in the web root.