我的.htaccess文件没有';不行。我有错误吗?

我的.htaccess文件没有';不行。我有错误吗?,.htaccess,.htaccess,上面的代码是我在.htaccess文件中的行。问题是,当一个命令像符咒一样工作时,但当我添加许多命令时,它们中的任何一个都不起作用。请任何人帮我找出错误 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/$ $1.php RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond

上面的代码是我在.htaccess文件中的行。问题是,当一个命令像符咒一样工作时,但当我添加许多命令时,它们中的任何一个都不起作用。请任何人帮我找出错误

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

RewriteCond %{HTTP_HOST} !^www.marinoswood.gr$ [NC]
RewriteRule ^(.*)$ http://www.marinoswood.gr/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^185\.4\.133\.44
RewriteRule (.*) http://www.marinoswood.gr/$1 [R=301,L]

RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
RewriteRule .* ? [F,L]

<IfModule mod_expires.c>
    ExpiresActive on

    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
</IfModule>
重新编写引擎打开
重写cond%{REQUEST_FILENAME}-F
重写规则^([^/]+)/$$1.php
重写规则^([^/]+)/([^/]+)/$/$1/$2.php
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_URI}!(\[a-zA-Z0-9]{1,5}|/)$
重写规则(.*)$/$1/[R=301,L]
重写cond%{HTTP_HOST}^www.marinoswood.gr$[NC]
重写规则^(.*)$http://www.marinoswood.gr/$1[L,R=301]
重写cond%{HTTP_HOST}^185\.4\.133\.44
重写规则(.*)http://www.marinoswood.gr/$1[R=301,L]
RewriteCond%{HTTP_USER_AGENT}libwww perl.*
重写规则。*?[F,L]
过期于
ExpiresByType图像/jpg“访问加1个月”
过期按类型图像/jpeg“访问加1个月”
ExpiresByType image/gif“访问加1个月”
ExpiresByType图像/png“访问加1个月”
一些经验法则:

  • 始终将重定向规则放在任何内部重写规则之前,因此任何带有
    R
    标志的内容都必须放在第一位
  • 如果在阻止访问的规则中使用
    F
    标志,则这些规则必须在所有规则之前,包括重定向规则(带有
    R
    标志的规则)
  • 重写条件仅适用于紧跟在规则之后的,因此,如果需要将这些条件应用于多个规则,则必须为每个规则重复这些条件
  • 那些
    .php
    规则完全被打破,需要重写
  • 此外,mod_expires指令不会影响规则

    那么也许你想要点什么

    RewriteEngine On
    
    RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
    RewriteRule .* ? [F,L]
    
    RewriteCond %{HTTP_HOST} !^www.marinoswood.gr$ [NC]
    RewriteRule ^(.*)$ http://www.marinoswood.gr/$1 [L,R=301]
    
    RewriteCond %{HTTP_HOST} ^185\.4\.133\.44
    RewriteRule (.*) http://www.marinoswood.gr/$1 [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
    RewriteRule (.*)$ /$1/ [R=301,L]
    
    RewriteCond %{DOCUMENT_ROOT}/$1.php -f
    RewriteRule ^([^/]+)/$ $1.php [L]
    RewriteCond %{DOCUMENT_ROOT}/$1/$2.php -f
    RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php [L]
    
    
    <IfModule mod_expires.c>
        ExpiresActive on
    
        ExpiresByType image/jpg "access plus 1 month"
        ExpiresByType image/jpeg "access plus 1 month"
        ExpiresByType image/gif "access plus 1 month"
        ExpiresByType image/png "access plus 1 month"
    </IfModule>
    
    重新编写引擎打开
    RewriteCond%{HTTP_USER_AGENT}libwww perl.*
    重写规则。*?[F,L]
    重写cond%{HTTP_HOST}^www.marinoswood.gr$[NC]
    重写规则^(.*)$http://www.marinoswood.gr/$1[L,R=301]
    重写cond%{HTTP_HOST}^185\.4\.133\.44
    重写规则(.*)http://www.marinoswood.gr/$1[R=301,L]
    重写cond%{REQUEST_FILENAME}-F
    重写cond%{REQUEST_FILENAME}-D
    重写cond%{REQUEST_URI}!(\[a-zA-Z0-9]{1,5}|/)$
    重写规则(.*)$/$1/[R=301,L]
    重写cond%{DOCUMENT_ROOT}/$1.php-f
    重写规则^([^/]+)/$$1.php[L]
    重写cond%{DOCUMENT_ROOT}/$1/$2.php-f
    重写规则^([^/]+)/([^/]+)/$/$1/$2.php[L]
    过期于
    ExpiresByType图像/jpg“访问加1个月”
    过期按类型图像/jpeg“访问加1个月”
    ExpiresByType image/gif“访问加1个月”
    ExpiresByType图像/png“访问加1个月”
    
    谢谢兄弟,你的回答和建议非常有用