Что означают эти объявления в моем файле .htaccess? - PullRequest
1 голос
/ 03 марта 2009

Я новичок в 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]

Ответы [ 5 ]

3 голосов
/ 03 марта 2009

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

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

2 голосов
/ 03 марта 2009

Так говорят

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

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

0 голосов
/ 03 марта 2009

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

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

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

0 голосов
/ 03 марта 2009

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

0 голосов
/ 03 марта 2009

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

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