Что означают эти объявления в моем файле .htaccess?

StackOverflow https://stackoverflow.com/questions/607692

  •  03-07-2019
  •  | 
  •  

Вопрос

Я новичок в PHP.Кто-нибудь может сказать мне, что здесь делает каждая строка.Нужно ли мне это?Это выдает мне ошибки

RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /~%1/rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteRule ^index\.php?(.*)$ /~%1/rewrite.php?p=%1&%{QUERY_STRING} [L]
#there is no ~ character in the URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) ./rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteRule ^index\.php?(.*)$ ./rewrite.php?p=$1&%{QUERY_STRING} [L]
#WJ-180 fix
RewriteRule ^resume\.php?(.*)$ ./rewrite.php?p=resume\.php$1&%{QUERY_STRING} [L]
Это было полезно?

Решение

Простой ответ:Эти объявления переписывают каждый запрос в rewrite.php файл.

Более полный ответ:Тот Самый RewriteCond и RewriteRule директивы исходят от Модуль Apache mod_rewrite и предоставить механизм перезаписи URL-адресов на основе правил.

Похоже, что эти правила предназначены для того, чтобы переписывать каждый запрос в rewrite.php файл, либо в определенном каталоге (/~фубар/rewrite.php) или в корне (/rewrite.php).

Другие советы

Если вы новичок, пожалуйста, прочтите http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html, это объясняется очень красиво.

p.s. Ваш заголовок "Что означают эти объявления в моем файле PHP .htaccess?" неверен, .htacces - это не файл php.

В них говорится

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

"Используйте следующее правило только в том случае, если запрос не соответствует существующему файлу или каталогу".

Это и mod_rewrite записи конфигурации.

Это правило Apache mod_rewrite.Если вы не используете какой-то фреймворк, вам, вероятно, он не нужен.Смотрите Apache mod_rewrite для получения дополнительной информации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top