Intereting Posts
Хорошо ли иметь BaseController и заставить все контроллеры расширять этот класс? выберите все данные с одним и тем же ключом foriegn Модули Zend Framework с общими ресурсами Используйте API Google AdWords с PHP, чтобы получить ключевое слово CPC и ежемесячный объем поиска Нарушение ограничения целостности: 1048 Столбец «taggable_id» не может быть нулевым Удаление объекта из объекта в цикле PHP-анализ XML из URL-адреса Почему моя строка SQL вызывает ошибку «Ошибка сообщения: ошибка синтаксиса: синтаксическая ошибка» в PHP? Два необычных PHP-оператора, используемых вместе, чтобы получить цвет пикселя изображения, пожалуйста, объясните Как я могу установить один Laravel PHP с несколькими проектами? Форматирование Zend Studio использует неправильный формат передача массива с php на javascript перенос данных формы php в окно js Как установить / включить расширения intl и xsl после установки PHP 7 Двустороннее шифрование: мне нужно хранить пароли, которые можно получить

Получить значение идентификатора страницы и отобразить URL-адрес через .htaccess

Я пытаюсь показать дружественные URL-адреса SEO, используя переписывание в нашем файле .htaccess, но я не могу заставить его работать (я исследовал многие связанные темы в StackExhange и в других местах, но безрезультатно). Я хотел бы получить значение id на этой странице …

http://199.119.123.135/info/tool_surety_company.php?id=1

… и отображать значение id в URL вместо уродливого «tool_surety_company.php? id = 1».

Я собираюсь получить такой результат: http://199.119.123.135/info/travelers-group

Я использую следующий код в моем файле .htaccess:

RewriteCond %{THE_REQUEST} \ /+info/tool_surety_company\.php\?id=([^&]+) RewriteRule ^ /info/%1/? [L,R] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^^info/([^/]+)/?$ /info/tool_surety_company.php?id=$1 [QSA] 

Но я получаю ошибку 404.

Есть идеи? Заранее спасибо!

Возможно, что-то я не понимаю здесь, но я считаю, что на серверном коде должен быть механизм для загрузки правильного контента для нового «seo-friendly url». Другими словами, конечно, вы можете перенаправить пользователя для отображения другого URL-адреса, но как сервер узнает, какой контент загрузить для этого нового URL-адреса?

Вот хороший ресурс для составления простого примера. https://moz.com/ugc/using-mod-rewrite-to-convert-dynamic-urls-to-seo-friendly-urls

Обновить:

Отсюда: https://mediatemple.net/community/products/dv/204643270/using-htaccess-rewrite-rules

ИСПРАВЛЕНИЕ ПРОБЛЕМ

404 Не Найдено

Изучите новый URL-адрес в браузере. Соответствует ли файл, существующий на сервере, в новом местоположении, указанном в правиле перезаписи? Возможно, вам придется сделать правило перезаписи более широким (вы можете удалить $ 1 со второй строки). Это приведет к перезаписи на главную страницу индекса, указанную во второй строке. Или вам может потребоваться скопировать файлы из вашего старого местоположения в новое место.

Другими словами, единственная причина, по которой вы получите 404, заключается в том, что сервер не находит файл, который запрашивается, как определено в URL-адресе, видимом в адресной строке вашего браузера.

Htaccess Rewrites разрешены с помощью модуля Apache mod_rewrite, который является одним из самых мощных модулей Apache и функций availale. Htaccess Rewrites через mod_rewrite обеспечивает специальную возможность перезаписи запросов как внутри, так и запроса перенаправления извне.

Когда URL-адрес в строке местоположения вашего браузера остается неизменным для запроса, это внутренняя переписка, когда URL-адрес изменяет внешнее перенаправление. Это один из первых, и один из самых больших людей ментальных блоков, когда узнал о mod_rewrite.

Дополнительная информация отсюда: http://www.askapache.com/htaccess/modrewrite-tips-tricks.html