Что такое магия с 5 строками кода в htaccess? - PullRequest
0 голосов
/ 17 декабря 2010

Я хочу знать, с этим кодом в .htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Можно многое сделать со строками запроса из URL-адресов, как Wordpres сделал в качестве примера.Это зависит от нашей кодировки или ..?Каковы секретные ингредиенты, чтобы сделать это?

Дайте мне знать, если у вас есть хороший источник, чтобы поделиться со мной.Все в одном.

Ответы [ 2 ]

8 голосов
/ 17 декабря 2010

Это сделало бы какую-то перехват всей страницы.

Давайте объясним это построчно

RewriteEngine On

включить перезапись мода

RewriteBase /

Установить базовый URL правил на '/'

RewriteCond %{REQUEST_FILENAME} !-f

если запрошенный файл не существует (т.е. не в формате jpg)

RewriteCond %{REQUEST_FILENAME} !-d

если запрошенный каталог не существует

RewriteRule . /index.php [L]

Перенаправить все в index.php

Таким образом, чтобы подвести итог, он перенаправит любой URL на index.php, если запрошенное имя файла или каталога не существует.

и документация , если вы хотите больше читать.

2 голосов
/ 17 декабря 2010

Модуль перезаписи позволяет сопоставлять пути и выполнять манипуляции, перенаправления и т. Д. На основе расширенных правил.

Ваш конкретный пример устанавливает два условия (путь не должен представлять существующий обычный файл или каталог), а затем перенаправляет что-либо еще на index.php. Затем вы можете реализовать все, что пожелаете, в index.php, чтобы сопоставить и / или проанализировать исходный запрос (например, /news/some-title может быть перенаправлен в модуль новостей, где новостной элемент может быть выбран с помощью slug ).

Иногда вы можете увидеть первоначальный редирект перезаписей, выполненный непосредственно в .htaccess. Выше может выглядеть так:

RewriteRule ^news/(.+)$ newsview.php?title=$1 [QSA,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...