PHP и с чем его едят....

[fly]

Sweet orange
Вопрос по ЧПУ:
Есть ссылки: и

А надо сделать так: и соответственно.

На сколько я понял, можно сделать следующим образом:
При добавлении товара в базу вместе с названием товара отдельной ячейкой дописывать еще и адрес ЧПУ (т.е. sumsung-e900). На сайте в каталоге товара у всех товаров будут ссылки вида: , , и так далее. Поскольку таких страниц в реале не существует, переход по таким адресам выдаст ошибку 404. То есть в .htaccess надо прописать условие, при котором в случае этой ошибки, на страницу 404.php, в которой будет происходить разбор УРЛа.

P.S. Понимаю, что mod_rewrite по идее лучше подходит для этой операции, но с ним пока не разобрался.

Теперь сам вопрос: на сколько это ущербно для поисковиков? Ведь по логике машины, все эти ссылки не рабочие!
 
Останнє редагування:

[fly]

Sweet orange
Пока получилось реализовать адрес вида: .
Нужно в адресе убрать product/1/. Это через .htaccess прописывать как-то?
 

Dre.hz

Active Member
Fly,
404 хоть и будет работать - не хорошо. Посмотри, какие заголовки шлются. Если 404, то плохо.

Вот тебе код .htaccess, который будет работать
Код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php [L]
Он заставляет на все урлы отвечать index.php. Дальше в скрипте бери $_SERVER['REQUEST_URI'] и разбирай его.
 

[fly]

Sweet orange
404 хоть и будет работать - не хорошо. Посмотри, какие заголовки шлются. Если 404, то плохо.
Там я читал можно послать заголовок:
PHP:
header ("HTTP/1.0 200 Ok");
И вроде как все будет нормально. Но думаю правильнее будет делать так, как Вы посоветовали. Спасибо!
Но прежний вопрос остался актуальным, в каком направлении копать, чтобы убрать product/1/?
 

[fly]

Sweet orange
Кто сталкивался с такой проблемой.

Есть форма с текстовым полем <textarea>, к этому полю подключаю плагин текстового редактора "tinymce". И когда копирую туда данные в виде таблицы, то при сохранении всей формы все остальные поля сохраняются, а это нет. Касается только табличных данных. Обычный текст сохраняет без проблем.

На этом поле никаких ограничений не стоит. Все обработки этого массива убрал. Тупо
PHP:
$specificationProduct=$_POST['specificationProduct'];
и все равно не пишет. В базе данных на это поле стоит тип TEXT, поэтому с лимитом символом проблем не может быть.

У кого есть идеи, в чем может быть проблема?
 
Останнє редагування:

FEOFAN

http://feofan.com
По-моему это настройки tinymce. Посомтри в настройках список разрешенных тагов.
 

[fly]

Sweet orange
Ага, может быть. А где их смотреть не подскажешь? Оно даже маленькую таблицу на одну ячейку не пишет.
 

[fly]

Sweet orange
Пишу простой поиск. Поля по которым надо делать выборку:
Название товара - любые символы - тип varchar;

Делаю запрос:
PHP:
$q=mysql_query("SELECT * FROM `products` WHERE nameProduct like '%".$search."%'");
Ищет как надо - задаю слово samsung - находит весь товар марки самсунг.

Теперь надо сделать поиск так, чтобы можно было искать по названию товара и по его артикулу.
артикул - только числовое значение - тип int;

Делаю запрос:
PHP:
$q=mysql_query("SELECT * FROM `products` WHERE CONCAT(nameProduct,partProduct) like '%".$search."%'");
По артикулу ищет нормально, но что касается названия товара, то ищет только по точному запросу. Т.е. при поиске samsung ничего не находит, а вот при поиске Samsung Galaxy W I8150 - находит.


Вопрос: как сделать, чтобы вводя и артикул, и название товара поиск работал так как надо!?
 
Останнє редагування:

Пух

كنت بلهاء
Модератор
Попробуй запрос пользователя перевести в lower case и искать по товару с базы, который тоже приведен к lower case.
 

[fly]

Sweet orange
Точно блин. Набрал в поиск Samsung вместо samsung - вывело весь товар самсунга.
Пух, спасибо за совет!
 
Зверху