Drupal: 7.14
drupal_core is in a subfolder below root. For this example let us use root/drupal_core for the sible code base.
Database type and version: MySql 5.5.23
PHP version: 5.2.17

Relevant information about the issue, for instance:

The page on which an error appears: http://www.example.net gets a 500 error, but http://example.net works fine.

Your module settings: ? Wow, can you be specific?

Which Domain Access modules you have installed: Domain Access, Domain Alias, Domain Configuration, Domain Content, Domain Navigation, Domain Settings, & Domain Source.

Other node access modules (like Organic Groups) that you have installed. ? I don't think i have installed any 'node' access modules. I have installed Internalization, Ubercart, Payments, and more... but i don't think these are 'node' access?

OK. I have read an article about configuration of Drupal with use of Domain Access module. It stated that there may be a problem with calling ccTLD's that then 'duplicate' content, or may it said when these ccTLD's are called the Domain Access module doesn't handle the forward to the 'head' domain gracefully. In other words, there is a change that Search Engines will not look upon your site favourably unless you make a few cpanel subdomain and root/htaccess changes.

I cannot find this article now, but i have followed its instruction and i have my site working, for the large part. Even though i stated i get an 500 error with http://www.example.net, well i have commented out the last line of code in the htaccess that this article said to add, and now it all works fine. Except i have some questions. I'd like to understand that this is a suitably good SEO method for my site, and also, I'd like to understand that the settings i have chosen are best for ccTLD recursiveness.

Then here are my settings:

I have set cpanel subdomain feature with subdomains such as this:

- *.example.ch
- *.example.de
- *.example.be
- *.example.com
- *.example.co.uk
etc

Plus, the .htaccess has auto set a redirect in cpanel redirect feature that is this:

- Domain: example.net
- Directory: /.*
- Redirects to: root/drupal_core

I have set extra code in to the htaccess. For the most part, the htaccess in the root/drupal_core folder is standard. The complete code is this:

#
# Apache/PHP/Drupal settings:
#

# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$">
  Order allow,deny
</FilesMatch>

# Don't show directory listings for URLs which map to a directory.
Options -Indexes

# Follow symbolic links in this directory.
Options +FollowSymLinks

# Make Drupal handle any 404 errors.
ErrorDocument 404 /error-404

# Set the default handler.
DirectoryIndex index.php index.html index.htm

# Override PHP settings that cannot be changed at runtime. See
# sites/default/default.settings.php and drupal_initialize_variables() in
# includes/bootstrap.inc for settings that can be changed at runtime.

# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
  php_flag magic_quotes_gpc                 off
  php_flag magic_quotes_sybase              off
  php_flag register_globals                 off
  php_flag session.auto_start               off
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_flag mbstring.encoding_translation    off
</IfModule>

# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
  # Enable expirations.
  ExpiresActive On

  # Cache all files for 2 weeks after access (A).
  ExpiresDefault A1209600

  <FilesMatch \.php$>
    # Do not allow PHP scripts to be cached unless they explicitly send cache
    # headers themselves. Otherwise all scripts would have to overwrite the
    # headers set by mod_expires if they want another caching behavior. This may
    # fail if an error occurs early in the bootstrap process, and it may cause
    # problems if a non-Drupal PHP file is installed in a subdirectory.
    ExpiresActive Off
  </FilesMatch>
</IfModule>

# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on

  # Block access to "hidden" directories whose names begin with a period. This
  # includes directories used by version control systems such as Subversion or
  # Git to store control files. Files whose names begin with a period, as well
  # as the control files used by CVS, are protected by the FilesMatch directive
  # above.
  #
  # NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is
  # not possible to block access to entire directories from .htaccess, because
  # <DirectoryMatch> is not allowed here.
  #
  # If you do not have mod_rewrite installed, you should remove these
  # directories from your webroot or otherwise protect them from being
  # downloaded.
  RewriteRule "(^|/)\." - [F]

  # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line:
  # RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  # RewriteBase /

  # Pass all requests not referring directly to files in the filesystem to
  # index.php. Clean URLs are handled in drupal_environment_initialize().

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^ index.php [L]

  # Rules to correctly serve gzip compressed CSS and JS files.
  # Requires both mod_rewrite and mod_headers to be enabled.
  <IfModule mod_headers.c>
    # Serve gzip compressed CSS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.css $1\.css\.gz [QSA]

    # Serve gzip compressed JS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.js $1\.js\.gz [QSA]

    # Serve correct content types, and prevent mod_deflate double gzip.
    RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
    RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]

    <FilesMatch "(\.js\.gz|\.css\.gz)$">
      # Serve correct encoding type.
      Header set Content-Encoding gzip
      # Force proxies to cache gzipped & non-gzipped css/js files separately.
      Header append Vary Accept-Encoding
    </FilesMatch>
  </IfModule>
</IfModule>

...and the htaccess file in the root is this:

RewriteEngine on
  # Protect files and directories from prying eyes.
  <FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$">
  Order allow,deny
  </FilesMatch>

  # Don't show directory listings for URLs which map to a directory.
  Options -Indexes

  # Follow symbolic links in this directory.
  Options +FollowSymLinks

  # Make Drupal handle any 404 errors.
  ErrorDocument 404 /drupal_core/error-404

  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # uncomment the following:
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment the following:
  # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  # RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

  # redirect all hits to www.mysite.com
  RewriteCond %{HTTP_HOST} !^www\.example\.net$ [NC]
  RewriteRule .* http://www.example.net/drupal_core/	[L,R=301]
  RewriteRule ^$ drupal/index.php [L]

  # clean the "/drupal" from the url
  # needed to make navigation between domain and
  # sub-domain work properly
  RewriteCond %{DOCUMENT_ROOT}/drupal%{REQUEST_URI} -f
  RewriteRule .* drupal/$0 [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule .* drupal/index.php?q=$0 [QSA]

Before, when i was getting the 500 error for domain that is http://www.example.net, but no error (redirect worked fine) for http://example.net, or http:www.any-subdomain-prefix-i-can-think-of.example.my_ccTLD

Then when i commented out this line (the last line in the root htaccess) it works (i think):

# RewriteRule .* drupal/index.php?q=$0 [QSA]

...now it all works, everything.

But, what is strange, is that all entries for any of my several unique ccTLD's go to the URL http://www.example.net/drupal_core... what is strange about that? Well, does that cause bad practice SEO for my ccTLD's? And, is ALL the juice going to http://www.example.net/drupal_core? ...or does (regardless of the actual redirect) any of my ccTLD's get juice when they are in the Search engine and opened, even though the final destination will be http://www.example.net/drupal_core and not something like http://www.en.example.ch/drupal_core

And, will the above mentioned setup be recursive?

Plus, since i haven't tested yet, may be someone can tell me if this will work... what if a visitor clicks from a search engine this link: http://www.da.example.dk/drupal_core, then, assuming i have set the Internationalization correctly and Multiple Languages right then even though they are redirected to http://www.example.net/drupal_core (default in English) does that visitor still read the website in Danish, and all the Menus i have set for Denmark are they still in Danish? Or English?

It would be really great if someone could clear that for me... i'd really appreciate your help. Thank you.

Comments

Valance’s picture

Issue summary: View changes

small edit, fix mistake

agentrickard’s picture

I have no idea what you are asking here. Please list your questions in order.

Try the documentation, which has special instructions regarding CPanel. https://drupal.org/node/1068894

Valance’s picture

Hello

Thank you for your help.

I have several questions:

I'd like to understand that this is a suitably good SEO method for my site, and also, I'd like to understand that the settings i have chosen are best for ccTLD recursiveness.

- Is my settings good for ccTLD recursiveness?
- Is my settings good for SEO?

But, what is strange, is that all entries for any of my several unique ccTLD's go to the URL http://www.example.net/drupal_core... what is strange about that? Well, does that cause bad practice SEO for my ccTLD's? And, is ALL the juice going to http://www.example.net/drupal_core? ...or does (regardless of the actual redirect) any of my ccTLD's get juice when they are in the Search engine and opened, even though the final destination will be http://www.example.net/drupal_core and not something like http://www.en.example.ch/drupal_core

- If i use ALL URL entries for any of my several unique ccTLD's go to the base URL that is http://www.example.net/drupal_core... then, does that cause bad practice SEO for my ccTLD's? And, is ALL the juice going to http://www.example.net/drupal_core? Or does each ccTLD still get some juice?

And, will the above mentioned setup be recursive?

- Will my setup be fully recursive for all URL redirects?

Plus, since i haven't tested yet, may be someone can tell me if this will work... what if a visitor clicks from a search engine this link: http://www.da.example.dk/drupal_core, then, assuming i have set the Internationalization correctly and Multiple Languages right then even though they are redirected to http://www.example.net/drupal_core (default in English) does that visitor still read the website in Danish, and all the Menus i have set for Denmark are they still in Danish? Or English?

- When a visitor clicks on URL http://de.example.ch/drupal_core then they are redirected under my setup. They are redirected to: http://example.net/drupal_core ...since the original URL is German language for a Switzerland ccTLD, then i want that visitor to read my German content on the Swiss website, but they are redirected to the 'main' website, and the main website is in English. Do they still see the website in German? Or English?

agentrickard’s picture

I don't know anything about ccTLDs.

agentrickard’s picture

Issue summary: View changes

grammar fix