0

I will be honest and admit my cross posting in serverfault.com but the reason is that I believe it is a server fault, and now I am looking for proof to present to my dreaded hosting providers, GoDaddy...

My magento was working a dream, all of a sudden, when logining into

mysite.com/mixitup/ 

after the login, it changes to

mysite.com/index.php/mixitup/dashboard/index/key/812b0641da.... etc, 

however if I change the path to

mysite.com/mixitup/dashboard/index/key/812b0641da... etc 

then it shows the dasboard, but upon clicking anything such as catalogue > manage products the index.php is inserted again, leaving

mysite.com/index.php/mixitup/catalog_product/index/key/f0e2d249eca781e... etc

Strangly, this has suddenly taken affect on 2 independent magento sites on one server. They share a .htaccess file on the route, however this hasn't changed to cause the problem. It's a godaddy shared server so my options here are limited.

Any thoughts on what may have changed this? or how to fix it?

Here is a copy of my .htaccess file (sorry to dump)

############################################
## uncomment these lines for CGI mode
## make sure to specify the correct cgi php binary file name
## it might be /cgi-bin/php-cgi

#    Action php5-cgi /cgi-bin/php5-cgi
#    AddHandler php5-cgi .php

############################################
## GoDaddy specific options

Options -MultiViews

## you might also need to add this line to php.ini
##     cgi.fix_pathinfo = 1
## if it still doesn't work, rename php.ini to php5.ini

############################################
## this line is specific for 1and1 hosting

#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php

############################################
## default index file

DirectoryIndex index.php index.html

<IfModule mod_php5.c>

############################################
## adjust memory limit

#    php_value memory_limit 64M
php_value memory_limit 128M
php_value max_execution_time 18000

############################################
## disable magic quotes for php request vars

php_flag magic_quotes_gpc off

############################################
## disable automatic session start
## before autoload was initialized

php_flag session.auto_start off

############################################
## enable resulting html compression

#php_flag zlib.output_compression on

###########################################
# disable user agent verification to not break multiple image upload

php_flag suhosin.session.cryptua off

###########################################
# turn off compatibility with PHP4 when dealing with objects

php_flag zend.ze1_compatibility_mode Off

</IfModule>

<IfModule mod_security.c>
###########################################
# disable POST processing to not break multiple image upload

SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

<IfModule mod_deflate.c>

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip

# Insert filter on all content
###SetOutputFilter DEFLATE
# Insert filter on selected content types only
#AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

# Netscape 4.x has some problems...
#BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
#BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
#BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don't compress images
#SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
#Header append Vary User-Agent env=!dont-vary

</IfModule>

<IfModule mod_ssl.c>

############################################
## make HTTPS env vars available for CGI mode

SSLOptions StdEnvVars

</IfModule>

<IfModule mod_rewrite.c>

############################################
## enable rewrites

Options +FollowSymLinks
RewriteEngine on

############################################
## you can put here your magento root folder
## path relative to web root

RewriteBase /

############################################
## workaround for HTTP authorization
## in CGI environment

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

############################################
## always send 404 on missing files in these folders

RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

############################################
## never rewrite for existing files, directories and links

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

############################################
## rewrite everything else to index.php

RewriteRule .* index.php [L]

</IfModule>


############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead

AddDefaultCharset Off
#AddDefaultCharset UTF-8

<IfModule mod_expires.c>

############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires

ExpiresDefault "access plus 1 year"

</IfModule>

############################################
## By default allow all access

Order allow,deny
Allow from all

############################################
## If running in cluster environment, uncomment this
## http://developer.yahoo.com/performance/rules.html#etags

#FileETag none

WHAT I'VE ALSO TRIED

I just tried restoring last Mondays backup, of both database and data and no such luck... can I therefore presume that it's a server config change? The way its handling URL Rewrites? Mod_Rewrites? or the .htaccess file itself?

Henry

1

It depends on the system config setting web/seo/use_rewrites if the Magento frontend adds the index.php to rendered links.

The option can be found in the admin panel under

System > Config > Web > Search Engine Optimization

Be aware that the setting can be specified on a store view scope, so a setting there might be overwriting your default and/or website scope setting.

You find all the values for that setting in the database run the SQL query:

SELECT * FROM core_config_data WHERE path = 'web/seo/use_rewrites';

On a related note, in the admin area it's hardcoded, that is, Magento will always add the index.php to the rendered links.

  • Hi vinai, the store view works fine, its just the backend that suddently has failed. In fact, its failed on a few sites on 1 server. Which makes me think thats its a server issue. Correct? – Henry Aspden Jun 19 '13 at 0:19
  • The only way it could have suddenly failed is if there was a rather intrusive modification changing stuff up. Magento has always required the index.php be in the admin URLs. – davidalger Jun 19 '13 at 1:43
  • The store view always renders the index.php into the links, see Mage_Core_Model_Store::_updatePathUseRewrites(). – Vinai Jun 19 '13 at 7:29
1

Adminrewrite are hardcoded, seo rewrite will not help.

I fixed it on godaddy by installing this free extension:

http://www.magentocommerce.com/magento-connect/clockworkgeek/extension/3692/clockworkgeek_adminrewrites

and read comment by djzubah : insert table manually

Hope this helped, I spent 2 days trying everything else Thanks to clockworkgeek it is now working.

0

APACHE UPGRADE CAUSED ISSUE

Hosting provider moved me from Apache 2.2 to 2.4 which officially goosed up my Magento Site !

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.