htaccess问题:尽管正确显示了页面,但标题仍然是404

时间:2012-01-20 20:17:51

标签: php apache .htaccess googlebot

我目前面临一个非常奇怪的问题,我在单个域上安装了wordpress和oscommerce。我把wordpress放在root和oscommerce的/ store /文件夹中。 除了一件事,一切都正常。尽管页面显示正确,但oscommerce的服务器标头仍然会出现404错误。这导致googlebot根本不会索引这些页面的情况。 有人可以帮我解决这个问题吗?我现在应该怎么做?

Root httaccess is 

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html

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


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

和oscommerce httaccess是

Options +SymLinksIfOwnerMatch
<IfModule mod_rewrite.c>
 RewriteEngine On

 # RewriteBase instructions
 # Change RewriteBase dependent on how your shop is accessed as below.
 # http://www.mysite.com = RewriteBase /
 # http://www.mysite.com/catalog/ = RewriteBase /catalog/
 # http://www.mysite.com/catalog/shop/ = RewriteBase /catalog/shop/

 # Change RewriteBase using the instructions above 
 RewriteBase /store/
 RewriteRule ^([a-z0-9/-]+)-p-([0-9]+).html$ product_info.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-c-([0-9_]+).html$ index.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-m-([0-9]+).html$ index.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-pi-([0-9]+).html$ popup_image.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-pr-([0-9]+).html$ product_reviews.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-pri-([0-9]+).html$ product_reviews_info.php [NC,L,QSA]
 # Articles contribution
 RewriteRule ^([a-z0-9/-]+)-t-([0-9_]+).html$ articles.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-au-([0-9]+).html$ articles.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-a-([0-9]+).html$ article_info.php [NC,L,QSA]
 # Information pages
 RewriteRule ^([a-z0-9/-]+)-i-([0-9]+).html$ information.php [NC,L,QSA]
 # Links contribution
 RewriteRule ^([a-z0-9/-]+)-links-([0-9_]+).html$ links.php [NC,L,QSA]
 # Newsdesk contribution
 RewriteRule ^([a-z0-9/-]+)-n-([0-9]+).html$ newsdesk_info.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-nc-([0-9]+).html$ newsdesk_index.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-nri-([0-9]+).html$ newsdesk_reviews_info.php [NC,L,QSA]
 RewriteRule ^([a-z0-9/-]+)-nra-([0-9]+).html$ newsdesk_reviews_article.php [NC,L,QSA]
</IfModule>

2 个答案:

答案 0 :(得分:0)

这看起来像是一个oscommerce错误配置。其他人有类似的问题。尝试使用一些解决方案here或google了解更多示例。

该链接因某些原因无效,抱歉。这是我尝试链接到http://webcache.googleusercontent.com/search?q=cache:Z2i_KItzGHcJ:www.oscmax.com/forums/oscommerce-2-2-installation-help/3962-getting-404-error-when-trying-view-products.html+&cd=9&hl=en&ct=clnk&gl=us&client=firefox-a

的缓存页面

答案 1 :(得分:0)

(我知道这是两年后......但也许可以为任何人节省时间)

我在oscommerce商店遇到了确切的问题。 只是产品网站显示他们应该, 但是提供标题http 404代码

所以我查看了 product_info.php 并且有这样的事情:

if ($product_check['total'] < 1) header('HTTP/1.1 404 Not Found');
我很喜欢:到底是怎么回事! 实际上它已被放置在那里以实际提高SEO性能......

(这里有一个不好的建议: http://forums.hostgator.com/oscommerce-enhancement-t27840.html

它实际上可以做的是杀死你的SEO作品......

(因为当产品售罄时,它会发出消失的信号 虽然它可能会在以后回来......)