.htaccess文件不允许POST函数处理

时间:2015-05-05 13:38:58

标签: php apache .htaccess server

我在教程中创建了一个htaccess文件。我的主要目标是在浏览器中删除文件名末尾的.php。这非常有效。但是,自从我创建了这个问题以来,我遇到了一些重大问题。

  1. 任何有POST方法的东西都不会处理。它只是重新加载当前页面,但什么也没做。

  2. 当我尝试登录时,它会将我重定向到我的主页。然后当我回到登录页面时,它允许我登录。

  3. 我的字体真棒图片不再显示。

  4. 问题1和2绝对是需要解决的最重要问题。我已经被困在这几天了,找不到能解决这个问题的事情。

    除了我提到的问题之外,这是我目前正在加载我的网页的内容。

    RewriteCond %{SERVER_PORT} 80 
    RewriteRule ^(.*)$ https://www.example/$1 [R,L]
    
    RewriteEngine On
    RewriteBase /
    
    <IfModule mod_headers.c>
      <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css)$">
        Header set Access-Control-Allow-Origin "*"
      </FilesMatch>
    </IfModule>
    
    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]
    RewriteRule ^er$ er.png [L]
    
    RewriteCond %{REQUEST_METHOD} !POST [NC]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
    RewriteRule ^ %1 [R,L,NC]
    

    这最后一部分^^是我试图添加的一件事,以使POST工作。它没有做任何事。就像我在这里发布它一样,它位于文件中。

    我还尝试使用以下某人为我创建的内容,但它甚至不允许我访问我的网站。

    RewriteEngine On
    
    # redirect to https
    RewriteCond %{SERVER_PORT} 80 
    RewriteRule ^(.*)$ https://www.mysite/$1 [R,L]
    
    # allow cross origin fonts
    <FilesMatch ".(eot|ttf|otf|woff)">
        Header set Access-Control-Allow-Origin "*"
    </FilesMatch>
    
    # add trailing slash
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
    
    # allow php files to respond without extension
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [NC,L]
    
    # remove php extension if provided
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteCond %{REQUEST_URI} !/$
    RewriteRule (.*) $1\\.php [L]
    

    我的所有POST方法都指向如下。

    action="/index"
    

1 个答案:

答案 0 :(得分:0)

尝试使用绝对网址,例如所有http://localhost/yourwebsite/products<a href="">中均为<form action="">