Htaccess Revert URL Encoding - PullRequest
       3

Htaccess Revert URL Encoding

1 голос
/ 01 июля 2011

Facebook и Twitter переписывают URL-адреса и заменяют символы (например,? Или /) кодом.

Исходный URL - http://example.com/article.php?title=hi/how-are-you?

URL-адрес после (перенаправление в социальную сеть): http://example.com/article.php?title=hi%2Fhow-are-you%3F

Я использую размещенную систему комментариев (Disqus), которая использует URL-адрес в качествеидентификатор потока, что означает, что я получу два потока для одной страницы из-за этого варианта.

Есть ли в любом случае, что я могу вернуть символы с помощью htaccess или другого метода?

Ответы [ 2 ]

2 голосов
/ 01 июля 2011

Вы можете использовать rawurldecode.

1 голос
/ 01 июля 2011

Вы можете вернуть нужную строку с помощью php-функции:

$_GET['title'] = urldecode($_GET['title']);

Таким образом, вы можете передать всем URL некоторые rewriter.php с помощью этой функции через .htaccess. .htaccess:

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d [NC]
    RewriteCond %{REQUEST_FILENAME} !-f [NC]
    RewriteRule ^(.*)$ /rewriter.php [QSA]

rewriter.php:

<?php 
    $_GET['title'] = urldecode($_GET['title']);
    include('index.php');
?>

Этот метод позволяет использовать некоторые статистические данные, перенаправления или другие манипуляции.

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