Вопрос по htaccess и Mod Rewrite

stenley2

Постоялец
Регистрация
16 Янв 2011
Сообщения
84
Реакции
16
Ув. умельцы, прошу помочь разобраться с проблемкой.
в htaccess прописан реврайт
PHP:
RewriteRule ^tovar/([0-9]*).html?$ index.php?content=tovar&id=$1 [L]
Все работает, но если вводится "../tovar/123.html" (любой номер) которого нету или был удален, то "невозможно отобразить страницу" без номера ошибки.
Если в базе есть номер 123.html то все отлично реврайтит.
Нужно как-то проверку на существование прикрутить наверно :nezn:
пробовал перед строчкой ставить
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URL} -f
и т.п. не получается.
Подскажите плз. Буду ОЧЕНЬ признателен!:pioner:
 
Код:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^test/([0-9]*).html?$ /test.php?content=tovar&id=$1 [L]

Если файл есть в папке test то отобразится файл, иначе запуститься ПХП скрипт.
Только что локально проверил, работает.
 
Код:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^test/([0-9]*).html?$ /test.php?content=tovar&id=$1 [L]
Если файл есть в папке test то отобразится файл, иначе запуститься ПХП скрипт.
Только что локально проверил, работает.
Спасибо, проверил, тоже не работает.:(
Но дело в том что папки и файлов типо "test" как и файлов *.html нету, они генерируются автоматом реврайтом из "index.php?content=test&id=$1" - какой "ID" такой и присваивается номер для *.html

Есть у кого еще предложения?
 
stenley2 - вообще проверка на существование должна быть прописана с скрипте.
Ну если все так криво, то оптимально отправлять юзера на главную
PHP:
ErrorDocument 404 http://yoursite.com
либо на созданную вами 404
PHP:
ErrorDocument 404 http://yoursite.com/404.htm
 
stenley2 - вообще проверка на существование должна быть прописана с скрипте.
Ну если все так криво, то оптимально отправлять юзера на главную
PHP:
ErrorDocument 404 http://yoursite.com
либо на созданную вами 404
PHP:
ErrorDocument 404 http://yoursite.com/404.htm
Да, уже стоит
PHP:
ErrorDocument 404 /
Все дело в том что ошибка не номерная.
На счет "кривизны" пхп Вы наверно правы.

Вообще желание исправить все это из-за "Ошибки сканирования" в вебмастер-тулс. (google)

Попробую как вариант в mysql делать подмену новых id под старые ошибочные:tut:
 
Назад
Сверху