ciccios Posted April 11, 2023 Share Posted April 11, 2023 hi to all, as title i have the 405 error on preflight on webservices api, only the pu and post methods, the get work fine. this is the .htaccess files # ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution # https://www.prestashop.com - https://www.prestashop.com/forums <IfModule mod_rewrite.c> <IfModule mod_env.c> SetEnv HTTP_MOD_REWRITE On </IfModule> AddHandler application/x-httpd-php73 .php RewriteEngine on RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule . - [E=HTTP_AUTHORIZATION:%1] RewriteCond %{REQUEST_METHOD} OPTIONS <<<< added from me #Domain: mydomain RewriteRule . - [E=REWRITEBASE:/{edited}/] RewriteRule ^api(?:/(.*))?$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] RewriteRule ^upload/.+$ %{ENV:REWRITEBASE}index.php [QSA,L] # Images RewriteCond %{HTTP_HOST} ^host{edited}$ RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^host{edited}$ RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L] RewriteCond %{HTTP_HOST} ^host{edited}$ RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L] RewriteCond %{HTTP_HOST} ^host{edited}$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L] RewriteCond %{HTTP_HOST} ^host{edited}$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L] RewriteCond %{HTTP_HOST} ^host{edited}$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L] RewriteCond %{HTTP_HOST} ^host{edited}3$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L] RewriteCond %{HTTP_HOST} ^host{edited}$ RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^host{edited}$ RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] # AlphaImageLoader for IE and fancybox RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L] # Dispatcher RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] </IfModule> AddType application/vnd.ms-fontobject .eot AddType font/ttf .ttf AddType font/otf .otf AddType application/font-woff .woff AddType font/woff2 .woff2 <IfModule mod_headers.c> Header always set Access-Control-Allow-Methods "GET, POST, HEAD, DELETE, PUT, OPTIONS" <<<<added from me <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|svg)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch> <FilesMatch "\.pdf$"> Header set Content-Disposition "Attachment" Header set X-Content-Type-Options "nosniff" </FilesMatch> </IfModule> <Files composer.lock> # Apache 2.2 <IfModule !mod_authz_core.c> Header set Access-Control-Allow-Origin "*" Order allow,deny </IfModule> # Apache 2.4 <IfModule mod_authz_core.c> Require all denied </IfModule> </Files> #If rewrite mod isn't enabled ErrorDocument 404 /{edit}/index.php?controller=404 # ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again how i can solve? thank you. Link to comment Share on other sites More sharing options...
Eutanasio Posted April 30, 2023 Share Posted April 30, 2023 you have added some lines related to the OPTIONS method: RewriteCond %{REQUEST_METHOD} OPTIONS <<<< added from me and Header always set Access-Control-Allow-Methods "GET, POST, HEAD, DELETE, PUT, OPTIONS" <<<<added from me The first line checks if the request method is OPTIONS, but there is no corresponding RewriteRule to handle it. You should add a RewriteRule that returns a successful response for the OPTIONS request method. For example, you can add the following lines: RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^.*$ - [R=200,L] These lines will return a 200 OK response for any request using the OPTIONS method. After making this change, your .htaccess file should look like this: ... RewriteEngine on RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule . - [E=HTTP_AUTHORIZATION:%1] RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^.*$ - [R=200,L] ... Remember to save your changes and restart your Apache server for the new configuration to take effect. If you still face any issues, please check your server's error logs for more information on the cause of the error. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now