Avenus
Under Glory Yield
Проблема с mod_rewrite
Специально для ФАНАТА: не закрывайте тему, пожалуйста! Лучше помогите разобраться.
Подскажите, пожалуйста, как изменить правила RewriteRule для моего случая: поисковые роботы Яндекса, Рамблера и Гугла не индексируют сайт совсем, кроме главной страницы.
Сейчас в .htaccess так
Options -Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site.ru$ // Связка адреса сайта с www ...
RewriteRule ^http://site.ru/%{REQUEST_URI} [R=301,L] // ... с адресом без www
RewriteBase /
RewriteRule ^.htaccess$ - [F]
RewriteRule ./index.php [L] // Если эту строчку убрать, то браузер выдает 404 ошибку
ErrorDocument 404 /index.php // при удалении этой строки также 404 ошибка
На сайте идет разбор URL
$url=$_SERVER['REQUEST_URI'];
$dir=explode("/",$url);
$par1=isset($dir[1])?$dir[1]:''; // параметр Par1 сразу после слэша, если есть
$par2=isset($dir[2])?$dir[2]:''; // параметр Par2 сразу после 2-го слэша, если есть
// ... и так далее для более глубоких страниц
// Страницы инклудятся по вызову page:
if($par1){
include $par1.'.php';
}
if($par2){
include $par2.'.php';
}
// Более глубокие parN обрабатываются внутри страниц, которые инклудятся по par2
Вид URL получается такой
http://site.ru/
http://site.ru/page1/
http://site.ru/page1/page2/
http://site.ru/page1/page2/page3/
Т.е. на сайте есть страницы:
page1.php и page2.php, а page3.php нет, 3 параметр page3 обрабатывается внутри page2.php
Но это не столь важно.
Почему роботы не индексируют такие URL? И что можно добавить в RewriteRule, чтобы они начали индексироваться?
Всем спасибо!
-~{}~ 03.12.07 16:20:
Может быть создать правило для замены последнего слэша "/" на ".php" и обратно?
Подскажите, пожалуйста, как?
Специально для ФАНАТА: не закрывайте тему, пожалуйста! Лучше помогите разобраться.
Подскажите, пожалуйста, как изменить правила RewriteRule для моего случая: поисковые роботы Яндекса, Рамблера и Гугла не индексируют сайт совсем, кроме главной страницы.
Сейчас в .htaccess так
Options -Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site.ru$ // Связка адреса сайта с www ...
RewriteRule ^http://site.ru/%{REQUEST_URI} [R=301,L] // ... с адресом без www
RewriteBase /
RewriteRule ^.htaccess$ - [F]
RewriteRule ./index.php [L] // Если эту строчку убрать, то браузер выдает 404 ошибку
ErrorDocument 404 /index.php // при удалении этой строки также 404 ошибка
На сайте идет разбор URL
$url=$_SERVER['REQUEST_URI'];
$dir=explode("/",$url);
$par1=isset($dir[1])?$dir[1]:''; // параметр Par1 сразу после слэша, если есть
$par2=isset($dir[2])?$dir[2]:''; // параметр Par2 сразу после 2-го слэша, если есть
// ... и так далее для более глубоких страниц
// Страницы инклудятся по вызову page:
if($par1){
include $par1.'.php';
}
if($par2){
include $par2.'.php';
}
// Более глубокие parN обрабатываются внутри страниц, которые инклудятся по par2
Вид URL получается такой
http://site.ru/
http://site.ru/page1/
http://site.ru/page1/page2/
http://site.ru/page1/page2/page3/
Т.е. на сайте есть страницы:
page1.php и page2.php, а page3.php нет, 3 параметр page3 обрабатывается внутри page2.php
Но это не столь важно.
Почему роботы не индексируют такие URL? И что можно добавить в RewriteRule, чтобы они начали индексироваться?
Всем спасибо!
-~{}~ 03.12.07 16:20:
Может быть создать правило для замены последнего слэша "/" на ".php" и обратно?
Подскажите, пожалуйста, как?