В моем .htaccess есть следующий код:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Мое преобразование симпатичной ссылки выполнено в моем index.php.Если пользователь ищет что-то, чего не существует, создается заголовок 404. В противном случае отображается содержимое.
Это нормально, но когда сканер или что-то пытается просмотреть HTML, ониполучаю ошибку 404.
Например:
http://www.jasonleodurbin.com/portfolio Эта ссылка должна работать нормально.
Если вы попытаетесь проверить его в валидаторе HTML, он не будет работать.Сканер сообщает, что получает 404. Я получаю то же самое для общего ресурса Facebook.
Я попытался удалить заголовок ошибки 404, и у меня все еще возникает та же проблема.
Что такое сделка?Есть предложения?
РЕДАКТИРОВАНИЕ:
Новый .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^jasonleodurbin\.com$ [NC]
RewriteRule ^(.*)$ http://www.jasonleodurbin.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]+)/$ index.php?go=$1&app=1 [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]+)?success=true index.php?go=$1&success=1 [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]+) index.php?go=$1 [NC,L,QSA]
Обработка:
globals.php
if(!isset($_GET['go']) || $_GET['go'] == "") $_GET['go'] = "home";
header.php
if(isset($_GET['go']) && !@fopen(strtolower($_GET['go']).".php",'r')){
//header("HTTP/1.0 404 Not Found");
define("FAIL",true);
$_GET['go'] = "error";
}
else {
define("FAIL",false);
Header('HTTP/1.1 200');
}
if(FAIL) define("GOSUB",DIR);
if(isset($_GET['app'])) define("GOSUB","../");
else define("GOSUB","");
Я также пробовал это для index.php:
<?Header('HTTP/1.1 200 OK');?>
<? require_once("header.php");?>
<? require_once(strtolower($_GET['go'].".php"));?>
</div>
</div>
<?
if(!defined("FOOTER"))define('WP_USE_THEMES', false);
define("FOOTER",true);
include("blog/index.php");
?>
<!--[if IE]>
<a href='http://www.google.com/chrome' title='Get Google Chrome : A Better Way To Browse' class='noie sprite-1'>IE Sucks</a>
<![endif]-->
<!--[if lt IE 7]>
<div style='position:absolute;top:60px;left:0px;'><b>IE 6</b>?! Dude, upgrade. <br>Click the link above to get Google Chrome.</div>
<![endif]-->
</body>
</html>
Что-то отправляет 404, прежде чем я могу даже отправить 200.