MBo

Рейтинг
88
Регистрация
17.04.2008

это недочёт самого скрипта, на php решается вот так (вставить в начало кода)


if($_SERVER['HTTP_HOST']!='host.com'){
header($_SERVER['SERVER_PROTOCOL'].' 301');
header('Location: http://host.com'.$_SERVER['REQUEST_URI']);
exit();
}

предположу, что на Python-е можно подобное соорудить тоже.

работает и хорошо, :) то я не досмотрел в первом варианте куда + воткнул, а проверял с одной цифрой, и правило для одной срабатывало ок.

mod_rewrite включён? весь код .htaccess можно увидеть? сюда или в личку.

а предложенный код рабочий – проверено.

MBo добавил 16.02.2011 в 21:20

если цифр больше чем одна, вот ещё вариант

RewriteRule ^content/view/([0-9]+)/$ /content/view/$1/2 [R=301,L]

внутри одного домена

RewriteRule ^content/view/([0-9+])/$ /content/view/$1/2 [R=301,L]

на другой домен

RewriteRule ^content/view/([0-9+])/$ http://host.com/content/view/$1/2 [R=301,L]

почему так не сделать?


if(isset($_POST['var']){$var=$_POST['var'];} else {$var=1;}

MBo добавил 13.02.2011 в 15:59

и если дальше где-то идёт if($var){ }

тогда, если не isset($_POST['var']), то надо $var присваивать 0, т.е.


if(isset($_POST['var']){$var=$_POST['var'];} else {$var=0;}

защита от флуда, авторский вариант и инструкция

http://php.spb.ru/other/_dima_noflood.php

и немного запиленный вариант (удаляет все файлы в директории лога скрипта, в хедер выдаёт 503 и Retry-After)

[ATTACH]83002[/ATTACH]

подключать в самом начале кода, напр., в index.php

было

<?php

error_reporting(E_ALL);

стало

<?php

error_reporting(E_ALL);

include('admin/_noflood_mod.php');

для "сдруживания" скрипта с нужными ботами, типа Гугла, Яндекса, лучше в robots.txt внести Crawl-delay, напр.,

User-agent: *

Disallow:

Crawl-delay: 3

zip _noflood_mod.zip

если правило выше не поможет, то так должно работать

RewriteEngine on

RewriteRule ^forum/index\.php$ /forum/ [R=301,L]

это правило для корня, но siv1987 верно подметил и дал рабочий вариант

siv1987:

Важный момент! Положить в htaccess папки forum.

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.php http://site.ru/forum/ [L,R=301]

тогда вот так про запас :) в htaccess папки forum

RewriteRule ^index\.php$ /forum/ [R=301,L]

Alexuain:
php стоит. Этот сайт сделан на html и htaccess нету

скрипт на сайте - это движок интернет-магазина Simpla (PHP, MySQL) и .htaccess там есть однозначно :)

MBo добавил 06.01.2011 в 20:25

возможное решение, в корне сайта в index.php после

if($site->fetch() !== false)

{

вставить

header('Content-Type: text/html');

а вообще, исходный скрипт без правок должен работать корректно.


<?
if (!isset($engine)) {
?>

<?
exit;
}

заменить на


<?
if (!isset($_POST['engine'])) {
?>

<?
exit;
}
$engine=$_POST['engine'];

если заработает, то причина в register_globals = Off (php.ini),

и тогда, возможно, где-то ещё скрипт может криво сработать.

RewriteEngine on

RewriteRule ^.htaccess$ - [F]

RewriteCond %{HTTP_HOST} ^(www.my.com|(www.)*not-my.com|127.0.0.1)$

RewriteRule ^(.*)$ http://my.com/$1 [R=301,L]

Всего: 82