2013-04-10 3 views
6

Я нашел эти правила перезаписи в .htaccess моего WordPress сайта:Объяснения по перезаписи правил WordPress'

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

Я знаю, что это в основном относится все к index.php. Но как это работает? Какое правило делает что?

+0

У меня был тот же вопрос (http://stackoverflow.com/q/35303598/2983568) и нашел подробное объяснение здесь: http://glennmessersmith.com/pages/wphtaccess.html – supafly

ответ

8

Я нашел некоторые ссылки здесь: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

RewriteEngine On позволяет модуль перезаписи.

RewriteRule ^index\.php$ - [L] гарантирует, что если вызывается index.php, никаких других правил не будет. - должен убедиться, что переписывание не произойдет, а флаг [L] указывает, что другие правила не должны выполняться.

RewriteCond %{REQUEST_FILENAME} !-f добавляет условие к следующему правилу перезаписи. Это условие говорит, что запрошенное имя файла не (!) существующий файл.

RewriteCond %{REQUEST_FILENAME} !-d - это то же самое, но для существующего каталога.

RewriteRule . /index.php [L] говорит, что все (.) следует переписать в /index.php, и что это последнее правило для выполнения ([L]).

Смежные вопросы