我是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]
答案 0 :(得分:3)
如果您是新手,请阅读http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html,其解释非常好。
p.s。您的标题“这些声明在我的PHP .htaccess文件中意味着什么?”是不正确的.htacces不是php文件。
答案 1 :(得分:2)
这些说
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
“如果请求与现有文件或目录不匹配,则仅使用以下规则。”
答案 2 :(得分:0)
这些是mod_rewrite配置条目。
答案 3 :(得分:0)
它是一个Apache mod_rewrite规则。除非你使用某种框架,否则你可能不需要它。有关详细信息,请参阅Apache mod_rewrite。
答案 4 :(得分:0)
简单的答案:这些声明会将每个请求重写为rewrite.php
文件。
更全面的答案:RewriteCond
和RewriteRule
指令来自Apache module mod_rewrite,并提供基于规则的URL重写机制。
似乎这些规则旨在将每个请求重写为rewrite.php
文件,无论是在特定目录(/~
foobar /rewrite.php
)中还是根(/rewrite.php
)。