Есть ли различия (для роботов Google и т. Д.) Между этими двумя кодами?
PHP:
// 301 Moved Permanently
header("Location: /foo.php",TRUE,301);
exit;
а также
.Htaccess
RewriteRule ^site1.php$ http://www.example.pl/text.html [R=301,L]
В этом методе перенаправления нет никаких отличий, за исключением того, что если вы используете PHP для возврата заголовка 301, потребуется некоторое дополнительное время для выполнения интерпретатора PHP. При использовании .htaccess
интерпретатор PHP не будет вызываться.
Они оба генерируют Location
Заголовок HTTP и код статуса 301, и Google не может знать, какие инструменты используются в этом процессе. В вашей версии PHP отсутствует префикс протокола и имя хоста, поэтому она технически недействительна (согласно соответствующему RFC), но это широко распространенное злоупотребление, и все браузеры в любом случае поступают правильно. И код может быть исправлен в любом случае.
Понятия не имею об Apache, но производительность PHP значительно улучшается в каждой основной версии. И, конечно, ваши точные ресурсы и нагрузка на сервер, вероятно, будут оказывать большее влияние, чем большинство других факторов. Так что я не думаю, что это имеет смысл как то, что быстрее в таких общих терминах. Дано ваш сервер, запустить тесты и найти ваш цифры.
Кроме того, если требуется высокая производительность, вы можете также пропустить mod_rewrite и использовать что-то еще, например mod_headers И его заголовок директивы. Или сбросив Apache и переключившись, например, на Nginx 😉