#.htaccess #url-rewriting #friendly-url
#.htaccess #перезапись url #дружественный url
Вопрос:
я экспериментирую с методом для красивых URL-адресов, который я раньше не пробовал, где htaccess просто выделяет весь путь после корня и передает его как единственную переменную, затем я разбью его на конкретные переменные, используя php explode, но я застрял на ранней стадии.
Я использую эту строку, чтобы захватить все в URL после «blah.com » —
RewriteRule ^(.*)$ index.php?url=$1 [NC]
затем в php используйте эту строку, чтобы превратить ее в переменную
$url = $_GET['url'];
но когда я тестирую его с поддельным путем, например «blah.com/test/test2 » $ url повторяется как «index.php «вместо «test / test2»
я ненавижу работать с htaccess, что является одной из причин, по которой я пытаюсь использовать этот метод, поэтому я не уверен, что мне нужно сделать, чтобы исправить это. любая помощь была бы … очень полезной!
Ответ №1:
Не беспокойтесь о переменных GET, просто проверяйте $_SERVER['REQUEST_URI']
, бесконечно проще 🙂
Комментарии:
1. итак, что-то вроде…. RewriteRule ^(.*)$ index.php [NC] и $url = $_SERVER[‘REQUEST_URI’]; ?
2. Действительно, в этом и заключается идея. Возможно, захочется добавить
RewriteCond %{REQUEST_FILENAME} !-f
перед правилом, чтобы предотвратить перенаправление, когда файл существует.