Я пробовал бесчисленное множество вещей, но не могу найти способ отображения в строке URL браузера переписанного URL-адреса вместо него с параметрами 3 get.Отображать канонические перезаписанные URL-адреса и скрывать динамические
Мой "некрасиво" URL:
http://example.com/archive.php?id=tt2131523&date=20131004&title=graceland
"довольно" URL мне нужно отобразить:
http://example.com/tt2131523-20131004-graceland.html
Вот мой файл .htaccess:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule .* http://%1%{REQUEST_URI} [R=301]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule .* https://%1%{REQUEST_URI} [R=301]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.html$ /archive.php?id=$1&date=$2&title=$3 [NC,L]
Мои другие файлы PHP служат «уродливым» ссылкам , ссылки работают, но URL-адреса остаются «уродливыми». Версия "prettyfied" не отображается.
Если я нахожу «симпатичный» URL-адрес в браузере, переписывание работает, и я обращаюсь к странице.
Я бы хотел, чтобы даже если пользователь вводит «уродливую» версию, он будет перенаправлен на «симпатичный».
Нужно ли мне изменить структуру ссылок (в других php-файлах) и сделать их прямо указывающими на переписанную версию URL-адресов или есть способ в .htaccess для отображения переписанной версии?
И, между прочим, это флаги в порядке?
Спасибо.
вы хотите добавить перепишет условие, что если URI передает значение запроса затем перенаправить страницу в «красивую» версию ** перед тем ** затем обработок симпатичной версии с правилом перезаписи, которое вы указали выше. это условие должно быть новым условием и помещено выше правила перезаписи, которое у вас уже есть. – Martin
Хорошо, спасибо Мартин. Как бы это выглядело? – yoann44
Является ли ваш htaccess в корневой папке? – starkeen