чистый URL-адрес обходится во внешнем интерфейсе без хэштега - PullRequest
0 голосов
/ 13 октября 2018

Я хочу, чтобы URL были, например, example.com/amsterdam, я знаю, что вы можете сделать это, например, example.com/#/amsterdam.

Но я не хочу, чтобы часть / # / была в моемURL.Я думаю, что мне нужно изменить свой .htaccess для этого, но я не нашел для этого хорошего примера в интернете.

Я бы хотел, чтобы кто-то переходил на example.com/amsterdam и хотел, чтобы он пошелна главную страницу, где я могу обработать / amsterdam с помощью javascript, чтобы я мог показать амстердамский текст на главной странице и поместить example.com/amsterdam в мой sitemap.xml для Google.

Я изо всех сил пытался объяснитьэтот.Если у вас есть догадки, как это сделать, пожалуйста, не стесняйтесь отвечать

1 Ответ

0 голосов
/ 12 ноября 2018

хорошо, это было трудно заставить работать, но я сделал это следующим образом.

Я добавил следующую строку в мой .htaccess FallbackResource index.php Чтобы сделать это, убедитесь, что вы используете более новую версию apacheтак как это относительно новая функция apache.Это происходит, когда он не находит страницу, которую вы запрашивали, и переходит на страницу index.php вместо стандартного apache 404.

Затем я добавил страницу index.php, где у меня был следующий код

$whitelist = [
    "Rotterdam",
    "Amsterdam",
];

$cwhitelist = [];

foreach ($whitelist as $key => $value) {
    array_push($cwhitelist,strtolower($value));
}

$urlpath = strtolower(basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
$inarr = in_array($urlpath,$cwhitelist);
if(!$inarr){
    $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    if($actual_link != "https://www.slotenmakergroep.nl/"){
            if( $actual_link != "http://www.slotenmakergroep.nl/"){
                session_start();
                $_SESSION["link"] = $actual_link;
                header("Location: 404.php",true,301);
            }

    }
}

Это следующее: у меня есть массив белых ссылок, которые я одобряю, а затем делаю их строчными.

После этого я беру URL-адрес и текст после косой черты.и проверьте, находится ли этот текст в массиве.если он находится в массиве, я также проверяю, является ли его http-ссылкой или https-ссылкой.

И чтобы завершить, если ссылка отсутствует в белом списке, я отправляю их на страницу 404.php и в сеансе сохраняюпо какой ссылке они пытались получить доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...