我使用Prestashop 1.7,系统时不时会自动从.htaccess中删除部分代码。
# ~~start~~
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums
<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>
RewriteEngine on
#Domain: mydomain.cz
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]
# Strip Facebook spyware tokens
RewriteCond %{REQUEST_METHOD} =GET [NC,OR]
RewriteCond %{REQUEST_METHOD} =HEAD [NC]
RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+$ [NC]
RewriteRule ^/?(.*)$ /$1?%1 [NE,L,R=301,E=limitcache:1]
Header always set Cache-Control "max-age=604800" env=limitcache
RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
Presta 自行删除的部分是关于 Facebook 代币的。
正如@CBroe所说,请注意
~~start~~
和~~end~~
评论。
将您的自定义代码放入 .htacces 中 PrestaShop 注释之前或之后。 这是因为这些注释之间的所有代码都是由 PrestaShop 生成的,因此如果您在这些注释之间编写或更改任何内容,则在重新生成 .htaccess 时您的更改将丢失