Веб-сайт работает на веб-хостинге, где у нас нет доступа к файлу htaccess. Веб-сервер – это Apache. Я хочу переписать URL. Например: Исходный URL: www.mydomainname.com/en/piecework/piecework.php?piecework_id=11 Ожидаемый URL: штучная работа.mydomainname.com/en/11
Как это сделать?
К сожалению, без доступа к htaccess или apache, вы не сможете этого сделать. Избавитесь от своего хозяина или получите новый. Большинство дешёвых хостов cheapo там предлагают mod_rewrite из моего опыта.
Я видел, как люди подписывают строку запроса для выполнения (типа) того, о чем вы говорите, т. Е.
domain.com/foo/bar/11
Фактически интерпретируется как:
domain.com/foo/bar/11.php?action=foo&query=bar
Однако вам нужно создать эту семантику в структуре физического каталога. Это уродливое, непослушное управление и намного проще с mod_rewrite.
Вероятно , вы включили mod_rewrite, вот небольшой учебник, который поможет вам начать работу.
Этот код может быть тем, что вы ищете: Использование: phpfile.php/en/11
Примечание: не требуется mod_rewrite.
<?php $DEFAULT_ACTION = 'badAction'; $pathInfo = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : ''; $pathParts = explode('/', substr($pathInfo, 1)); $action = isset($pathParts[0]) ? $pathParts[0] : $DEFAULT_ACTION; if (function_exists($action)) { $action($pathParts); } else { badAction(); } function badAction($parts = null) { print 'The function specified is invalid.'; } function en($parts) { $name = isset($parts[1]) ? $parts[1] : 'undefined'; $xml = new SimpleXMLElement('<message>Number: ' . $name . ' </message>'); header('Content_Type: text/xml'); print $xml->asXML(); } ?>
пс. Я нашел код в «Профессиональный PHP6» ISBN: 978-0-470-39509-7
Вы действительно можете физически создавать папки / файлы (так что доступ к этому пути фактически физически существует), а затем перенаправлять / обрабатывать соответственно в тех – громоздких, но если это ваш единственный выбор …
Другая возможность будет заключаться в том, что если ваш хост предоставит вам хотя бы пользовательский документ с ошибкой 404, а затем будет обрабатывать все, что находится на нем, на основе REDIRECT_URL.