我在教程中创建了一个htaccess文件。我的主要目标是在浏览器中删除文件名末尾的.php。这非常有效。但是,自从我创建了这个问题以来,我遇到了一些重大问题。
任何有POST方法的东西都不会处理。它只是重新加载当前页面,但什么也没做。
当我尝试登录时,它会将我重定向到我的主页。然后当我回到登录页面时,它允许我登录。
我的字体真棒图片不再显示。
问题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"
答案 0 :(得分:0)
尝试使用绝对网址,例如所有http://localhost/yourwebsite/products
和<a href="">
中均为<form action="">
。