簡體   English   中英

.htaccess - 不要為API調用應用重寫規則

[英].htaccess - Do not Apply rewrite rule for API calls

基本上,我有一個單獨的桌面和移動網站。 兩者都與單個后端通信。 移動版本通過REST APIS進行通信。

我們的想法是在一個域中托管兩個站點。 www.example.com。 並在.htaccess中使用規則來查看請求是否來自移動從另一個文件夾而不是根文件夾獲取網站內容。 內部文件夾/ p​​wa中的移動內容。

SO when accessed from mobile domain should be www.example.com, not example.com/pwa

我試過這樣的事。

    Options +FollowSymlinks
    RewriteEngine on


    # Android devices
    RewriteCond %{HTTP_USER_AGENT} Android
    RewriteCond %{REQUEST_URI} !/pwa 
    RewriteRule ^(.*)$ /pwa/$1 [NC,L]

來自Android手機的所有請求都被路由到/ pwa但問題是調用REST APIS失敗了。 所有其他API調用都具有類似的URL結構

https://example.com.com/api/rest/oauth2/token/client_credentials
https://example.com.com/api/rest/categories
https://example.com.com/api/rest/user/1

我如何使它工作? 如果請求來自移動設備,則只有站點內容應該來自/ pwa文件夾,其他一切都應該有效。

完整的.htaccess文件內容

                    # 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

    # 2. In your opencart directory rename htaccess.txt to .htaccess.

    # For any support issues please visit: http://www.opencart.com

    Options +FollowSymlinks

    # Prevent Directoy listing
    Options -Indexes

    # Prevent Direct Access to files
    <FilesMatch "(?i)((\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt))">
     Require all denied
    ## For apache 2.2 and older, replace "Require all denied" with these two lines :
    # Order deny,allow
    # Deny from all
    </FilesMatch>

    # SEO URL Settings

    RewriteEngine On
    # Android devices
    RewriteCond %{HTTP_USER_AGENT} Android [NC]
    RewriteCond %{THE_REQUEST} !\s/+(pwa|api) [NC]
    RewriteRule ^ pwa%{REQUEST_URI} [L]

    # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

    # rule for removing www on sub domains
    RewriteCond %{HTTP_HOST} ^www\.([^.]+\.tacskey\.com)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    RewriteBase /
    RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
    RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
    # Sets the HTTP_AUTHORIZATION header removed by apache
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

    Header set Access-Control-Expose-Headers: x-total-count

    #REST API get token
    RewriteRule ^api/rest/oauth2/token/?([a-zA-Z0-9_]+) index.php?route=feed/rest_api/gettoken&grant_type=$1  [L]
    #REST API get token
    RewriteRule ^api/rest/oauth2/token index.php?route=feed/rest_api/gettoken  [L]
    #REST API database tables checksum
    RewriteRule ^api/rest/checksums index.php?route=feed/rest_api/getchecksum  [L]
    RewriteRule ^api/rest/affiliate index.php?route=feed/rest_api/affiliate  [L]
    ####################################### OPENCART UTC OFFSET #################################################
    #REST API UTC and server time offset in seconds
    RewriteRule ^api/rest/utc_offset index.php?route=feed/rest_api/utc_offset  [L]
    #######################################VOUCHER THEMES#####################################################
    #REST API voucher themes
    RewriteRule ^api/rest/account/voucherthemes index.php?route=rest/account/voucherthemes  [L]
    #######################################VOUCHERS#####################################################
    #REST API vouchers
    RewriteRule ^api/rest/account/voucher index.php?route=rest/account/voucher  [L]
    #######################################TRANSACTIONS#####################################################
    #REST API transactions
    RewriteRule ^api/rest/account/transactions index.php?route=rest/account/transactions  [L]
    ####################################### OPENCART ORDER STATUSES #################################################
    #REST API List order statuses
    RewriteRule ^api/rest/order_statuses index.php?route=feed/rest_api/order_statuses  [L]
    #######################################PRODUCT######################################################################
    #REST API product custom search pager
    RewriteRule ^api/rest/products/custom_search/limit/?([0-9]+)/page/?([0-9]+) index.php?route=feed/rest_api/search&limit=$1&page=$2 [L]
    #REST API product custom search
    RewriteRule ^api/rest/products/custom_search index.php?route=feed/rest_api/search[L]
    RewriteRule ^api/rest/products/search/?([-a-zA-Z0-9_&\|\s/.]+)/sort/?([a-zA-Z]+)/order/?([a-zA-Z]+) index.php?route=feed/rest_api/products&search=$1&sort=$2&order=$3 [B,NC,L]
    RewriteRule ^api/rest/products/search/?([-a-zA-Z0-9_&\|\s/.]+)/sort/?([a-zA-Z]+) index.php?route=feed/rest_api/products&search=$1&sort=$2 [B,NC,L]
    RewriteRule ^api/rest/products/category/?([0-9]+)/sort/?([a-zA-Z]+)/order/?([a-zA-Z]+) index.php?route=feed/rest_api/products&category=$1&sort=$2&order=$3  [L]
    RewriteRule ^api/rest/products/category/?([0-9]+)/sort/?([a-zA-Z]+) index.php?route=feed/rest_api/products&category=$1&sort=$2  [L]
    RewriteRule ^api/rest/products/sort/?([a-zA-Z]+)/order/?([a-zA-Z]+) index.php?route=feed/rest_api/products&sort=$1&order=$2  [L]
    RewriteRule ^api/rest/products/sort/?([a-zA-Z]+) index.php?route=feed/rest_api/products&sort=$1  [L]
    #REST API products filter by slug
    RewriteRule ^api/rest/products/slug/?([-a-zA-Z0-9_&\|\s/.]+) index.php?route=feed/rest_api/products&slug=$1 [B,NC,L]
    #REST API add review
    RewriteRule ^api/rest/products/?([0-9]+)/review index.php?route=feed/rest_api/reviews&id=$1  [L]
    #REST API product search pager
    RewriteRule ^api/rest/products/search/?([-a-zA-Z0-9_&\|\s/.]+)/limit/?([0-9]+)/page/?([0-9]+) index.php?route=feed/rest_api/products&search=$1&limit=$2&page=$3 [B,NC,L]
    #REST API product search
    RewriteRule ^api/rest/products/search/?([-a-zA-Z0-9_&\|\s/.]+) index.php?route=feed/rest_api/products&search=$1 [B,NC,L]
    #REST API product pager
    RewriteRule ^api/rest/products/limit/?([0-9]+)/page/?([0-9]+) index.php?route=feed/rest_api/products&limit=$1&page=$2  [L]
    #REST API product per category pager
    RewriteRule ^api/rest/products/category/?([0-9]+)/limit/?([0-9]+)/page/?([0-9]+) index.php?route=feed/rest_api/products&category=$1&limit=$2&page=$3  [L]
    #REST API products by category filters
    RewriteRule ^api/rest/products/category/?([0-9]+)/filters/([0-9,?:,]+) index.php?route=feed/rest_api/products&category=$1&filters=$2  [L]
    #REST API products per category
    RewriteRule ^api/rest/products/category/?([0-9]+) index.php?route=feed/rest_api/products&category=$1  [L]
    #REST API selected product
    RewriteRule ^api/rest/products/?([0-9]+) index.php?route=feed/rest_api/products&id=$1  [L]
    #REST API custom fields
    RewriteRule ^api/rest/products/simple/customfields/?([a-zA-Z0-9,\s]+) index.php?route=feed/rest_api/products&simple=1&custom_fields=$1  [L]
    #REST API simple products
    RewriteRule ^api/rest/products/simple index.php?route=feed/rest_api/products&simple=1  [L]
    #REST API product per manufacturer pager
    RewriteRule ^api/rest/products/manufacturer/?([0-9]+)/limit/?([0-9]+)/page/?([0-9]+) index.php?route=feed/rest_api/products&manufacturer=$1&limit=$2&page=$3  [L]
    #REST API products per manufacturer
    RewriteRule ^api/rest/products/manufacturer/?([0-9]+) index.php?route=feed/rest_api/products&manufacturer=$1  [L]
    #REST API products
    RewriteRule ^api/rest/products index.php?route=feed/rest_api/products  [L]
    #REST API get featured products limit
    RewriteRule ^api/rest/featured/limit/?([0-9]+) index.php?route=feed/rest_api/featured&limit=$1  [L]
    #REST API get featured products
    RewriteRule ^api/rest/featured index.php?route=feed/rest_api/featured  [L]
    RewriteRule ^api/rest/custom index.php?route=feed/rest_api/custom  [L]
    #REST API get product classes
    RewriteRule ^api/rest/product_classes index.php?route=feed/rest_api/productclasses  [L]
    #REST API bestsellers
    RewriteRule ^api/rest/bestsellers/limit/?([0-9]+) index.php?route=feed/rest_api/bestsellers&limit=$1  [L]
    #REST API bestsellers
    RewriteRule ^api/rest/bestsellers index.php?route=feed/rest_api/bestsellers  [L]
    #REST API filters
    RewriteRule ^api/rest/filters/id/?([0-9]+) index.php?route=feed/rest_api/filters&id=$1  [L]
    #REST API related
    RewriteRule ^api/rest/related/?([0-9]+) index.php?route=feed/rest_api/related&id=$1  [L]
    #REST API latest
    RewriteRule ^api/rest/latest/limit/?([0-9]+) index.php?route=feed/rest_api/latest&limit=$1  [L]
    RewriteRule ^api/rest/latest index.php?route=feed/rest_api/latest  [L]
    #REST API banners
    RewriteRule ^api/rest/banners/?([0-9]+) index.php?route=feed/rest_api/banners&id=$1  [L]
    RewriteRule ^api/rest/banners index.php?route=feed/rest_api/banners  [L]
    #REST API specials
    RewriteRule ^api/rest/specials/limit/?([0-9]+) index.php?route=feed/rest_api/specials&limit=$1  [L]
    RewriteRule ^api/rest/specials index.php?route=feed/rest_api/specials  [L]
    #REST API compare products
    RewriteRule ^api/rest/compare/([0-9,?:,]+) index.php?route=feed/rest_api/compare&ids=$1  [L]
    #######################################SLIDESHOW####################################################################
    #REST API get slideshows
    RewriteRule ^api/rest/slideshows index.php?route=feed/rest_api/slideshows  [L]
    #######################################CATEGORY####################################################################
    #REST API categories filter by slug
    RewriteRule ^api/rest/categories/slug/?([-a-zA-Z0-9_&\|\s/.]+) index.php?route=feed/rest_api/categories&slug=$1 [B,NC,L]
    #REST API categories filter parent and level
    RewriteRule ^api/rest/categories/parent/?([0-9]+)/level/?([0-9]+) index.php?route=feed/rest_api/categories&parent=$1&level=$2  [L]
    #REST API categories filter level
    RewriteRule ^api/rest/categories/level/?([0-9]+) index.php?route=feed/rest_api/categories&level=$1  [L]
    #REST API categories filter parent
    RewriteRule ^api/rest/categories/parent/?([0-9]+) index.php?route=feed/rest_api/categories&parent=$1  [L]
    #REST API selected category
    RewriteRule ^api/rest/categories/?([0-9]+) index.php?route=feed/rest_api/categories&id=$1  [L]
    RewriteRule ^api/rest/categories/extended/limit/?([0-9]+)/page/?([0-9]+) index.php?route=feed/rest_api/categories&limit=$1&page=$2&extended=1  [L]
    #REST API categories
    RewriteRule ^api/rest/categories index.php?route=feed/rest_api/categories [L]
    #######################################MANUFACTURER#################################################################
    #REST API selected manufacturer
    RewriteRule ^api/rest/manufacturers/?([0-9]+) index.php?route=feed/rest_api/manufacturers&id=$1  [L]
    #REST API manufacturers
    RewriteRule ^api/rest/manufacturers index.php?route=feed/rest_api/manufacturers  [L]
    RewriteRule ^api/rest/coupons index.php?route=feed/rest_api/coupons  [L]
    #######################################ORDERS######################################################################
    #REST API order history
    RewriteRule ^api/rest/orderhistory/?([0-9]+) index.php?route=feed/rest_api/orderhistory&id=$1  [L]
    #REST API selected orders
    #RewriteRule ^api/rest/orders/?([0-9]+) index.php?route=feed/rest_api/orders&id=$1  [L]
    #REST API Orders with details filter by date_added range
    #RewriteRule ^api/rest/orders/details/added_from/([^/]+)/added_to/([^/]+)/?$ index.php?route=feed/rest_api/listorderswithdetails&filter_date_added_from=$1&filter_date_added_to=$2 [L]
    #REST API Orders with details filter by date_added from till now
    #RewriteRule ^api/rest/orders/details/added_from/([^/]+)/?$ index.php?route=feed/rest_api/listorderswithdetails&filter_date_added_from=$1 [L]
    #REST API Orders with details filter by date_added on
    #RewriteRule ^api/rest/orders/details/added_on/([^/]+)/?$ index.php?route=feed/rest_api/listorderswithdetails&filter_date_added_on=$1 [L]
    #REST API Orders with details filter by date_modified range
    #RewriteRule ^api/rest/orders/details/modified_from/([^/]+)/modified_to/([^/]+)/?$ index.php?route=feed/rest_api/listorderswithdetails&filter_date_modified_from=$1&filter_date_modified_to=$2 [L]
    #REST API Orders with details filter by date_modified from till now
    #RewriteRule ^api/rest/orders/details/modified_from/([^/]+)/?$ index.php?route=feed/rest_api/listorderswithdetails&filter_date_modified_from=$1 [L]
    #REST API Orders with details filter by date_modified on
    #RewriteRule ^api/rest/orders/details/modified_on/([^/]+)/?$ index.php?route=feed/rest_api/listorderswithdetails&filter_date_modified_on=$1 [L]
    #REST API Orders with details filter by status
    #RewriteRule ^api/rest/orders/details/status/([0-9,?:,]+) index.php?route=feed/rest_api/listorderswithdetails&filter_order_status_id=$1 [L]
    #REST API Orders with details
    #RewriteRule ^api/rest/orders/details index.php?route=feed/rest_api/listorderswithdetails  [L]
    #REST API update order status
    #RewriteRule ^api/rest/order_status/?([0-9]+) index.php?route=feed/rest_api/orderstatus&id=$1  [L]
    #REST API Orders filtered by user
    #RewriteRule ^api/rest/orders/user/?([0-9]+) index.php?route=feed/rest_api/userorders&user=$1  [L]
    #REST API orders
    #RewriteRule ^api/rest/orders index.php?route=feed/rest_api/orders  [L]
    #######################################CUSTOMERS##################################################################
    #REST API selected customers
    RewriteRule ^api/rest/customers/?([0-9]+) index.php?route=feed/rest_api/customers&id=$1  [L]
    #REST API customers
    RewriteRule ^api/rest/customers index.php?route=feed/rest_api/customers  [L]
    #######################################LANGUAGES#################################################################
    #REST API selected language
    RewriteRule ^api/rest/languages/?([0-9]+) index.php?route=feed/rest_api/languages&id=$1  [L]
    #REST API languages
    RewriteRule ^api/rest/languages index.php?route=feed/rest_api/languages [L]
    ##############################################STORE###############################################################
    #REST API selected store
    RewriteRule ^api/rest/stores/?([0-9]+) index.php?route=feed/rest_api/stores&id=$1  [L]
    #REST API stores
    RewriteRule ^api/rest/stores index.php?route=feed/rest_api/stores [L]
    #######################################COUNTRY###################################################################
    #REST API selected country
    RewriteRule ^api/rest/countries/?([0-9]+) index.php?route=feed/rest_api/countries&id=$1  [L]
    #REST API countries
    RewriteRule ^api/rest/countries index.php?route=feed/rest_api/countries [L]
    #######################################SESSION#####################################################################
    #REST API get session
    RewriteRule ^api/rest/session index.php?route=feed/rest_api/session  [L]
    #######################################CART####################################################
    #REST API cart bulk functions
    RewriteRule ^api/rest/cart_bulk index.php?route=rest/cart/bulkcart  [L]
    #REST API empty cart
    RewriteRule ^api/rest/cart/empty index.php?route=rest/cart/emptycart  [L]
    #REST API delete cart item by id
    RewriteRule ^api/rest/cart/?([a-zA-Z0-9,\s]+) index.php?route=rest/cart/cart&key=$1  [L]
    #REST API cart
    RewriteRule ^api/rest/cart/update index.php?route=rest/cart/updatecartv2  [L]
    #REST API cart
    RewriteRule ^api/rest/cart index.php?route=rest/cart/cart  [L]
    #######################################CUSTOMERS####################################################
    #REST API registration
    RewriteRule ^api/rest/register index.php?route=rest/register/register  [L]
    #REST API login
    RewriteRule ^api/rest/login index.php?route=rest/login/login  [L]
    #REST API social login
    RewriteRule ^api/rest/sociallogin index.php?route=rest/login/sociallogin  [L]
    #REST API logout
    RewriteRule ^api/rest/logout index.php?route=rest/logout/logout  [L]
    #REST API forgotten password
    RewriteRule ^api/rest/forgotten index.php?route=rest/forgotten/forgotten  [L]
    #REST API multivendor registration
    RewriteRule ^api/rest/multivendor_signup index.php?route=rest/multivendor/register  [L]
    #REST API multivendor infos
    RewriteRule ^api/rest/multivendor_infos index.php?route=rest/multivendor/infos  [L]
    #######################################VOUCHER####################################################
    #REST API add voucher
    RewriteRule ^api/rest/voucher index.php?route=rest/cart/voucher  [L]
    #######################################COUPON####################################################
    #REST API add coupon
    RewriteRule ^api/rest/coupon index.php?route=rest/cart/coupon  [L]
    #######################################REWARD#####################################################
    #REST API add reward
    RewriteRule ^api/rest/reward index.php?route=rest/cart/reward  [L]
    #######################################GUEST SHIPPING ####################################################
    #REST API payment methods
    RewriteRule ^api/rest/guestshipping index.php?route=rest/guest_shipping/guestshipping  [L]
    #######################################GUEST####################################################
    #REST API guest
    RewriteRule ^api/rest/guest index.php?route=rest/guest/guest  [L]
    #######################################PAYMENT METHOD####################################################
    #REST API payment methods
    RewriteRule ^api/rest/paymentmethods index.php?route=rest/payment_method/payments  [L]
    #######################################PAYMENT ADDRESS####################################################
    #REST API payment address
    RewriteRule ^api/rest/paymentaddress/existing index.php?route=rest/payment_address/paymentaddress&existing=1  [L]
    RewriteRule ^api/rest/paymentaddress index.php?route=rest/payment_address/paymentaddress  [L]
    #######################################SHIPPING ADDRESS####################################################
    #REST API shipping address
    RewriteRule ^api/rest/shippingaddress/existing index.php?route=rest/shipping_address/shippingaddress&existing=1   [L]
    RewriteRule ^api/rest/shippingaddress index.php?route=rest/shipping_address/shippingaddress  [L]
    #######################################SHIPPING METHOD####################################################
    #REST API shipping methods
    RewriteRule ^api/rest/shippingmethods index.php?route=rest/shipping_method/shippingmethods  [L]
    #######################################ZONE####################################################
    #REST API get zones
    RewriteRule ^api/rest/zone/?([0-9]+) index.php?route=rest/guest/zone&country_id=$1 [L]
    #######################################CHECKOUT CONFIRM############################################
    #REST API confirm and save order
    RewriteRule ^api/rest/confirm index.php?route=rest/confirm/confirm  [L]
    #######################################CHECKOUT CONFIRM SIMPLE############################################
    #REST API confirm and save order
    RewriteRule ^api/rest/simpleconfirm index.php?route=rest/simple_confirm/confirm  [L]
    #######################################CHECKOUT USERDATA TEST ############################################
    #REST API check user data
    RewriteRule ^api/rest/checkuser index.php?route=rest/login/checkuser  [L]
    ####################################### CUSTOMER ORDERS ####################################################
    RewriteRule ^api/rest/customerorders/limit/?([0-9]+)/page/?([0-9]+) index.php?route=rest/order/orders&limit=$1&page=$2 [L]
    RewriteRule ^api/rest/customerorders/?([0-9]+)/product_id/?([0-9]+) index.php?route=rest/order/orders&id=$1&order_product_id=$2  [L]
    #REST API customer orders details or reorder
    RewriteRule ^api/rest/customerorders/?([0-9]+) index.php?route=rest/order/orders&id=$1  [L]
    #REST API customer orders
    RewriteRule ^api/rest/customerorders index.php?route=rest/order/orders  [L]
    #######################################CHANGE PASSWORD####################################################
    RewriteRule ^api/rest/account/address/?([0-9]+) index.php?route=rest/account/address&id=$1  [L]
    #REST API address method
    RewriteRule ^api/rest/account/address index.php?route=rest/account/address  [L]
    #REST API change password method
    RewriteRule ^api/rest/account/password index.php?route=rest/account/password  [L]
    #######################################GUEST ACCOUNT ####################################################
    RewriteRule ^api/rest/account/recurrings/?([0-9]+) index.php?route=rest/account/recurrings&id=$1  [L]
    RewriteRule ^api/rest/account/recurrings/limit/?([0-9]+)/page/?([0-9]+) index.php?route=rest/account/recurrings&limit=$1&page=$2 [L]
    RewriteRule ^api/rest/account/recurrings index.php?route=rest/account/recurrings [L]
    RewriteRule ^api/rest/account/downloads/limit/?([0-9]+)/page/?([0-9]+) index.php?route=rest/account/downloads&limit=$1&page=$2 [L]
    RewriteRule ^api/rest/account/downloads index.php?route=rest/account/downloads [L]
    #REST API account methods
    RewriteRule ^api/rest/account index.php?route=rest/account/account  [L]
    #REST API account custom fields
    RewriteRule ^api/rest/customfield index.php?route=rest/account/customfield  [L]
    #######################################WISHLIST####################################################
    #REST API add product to wishlist or delete from wishlist
    RewriteRule ^api/rest/wishlist/?([0-9]+) index.php?route=rest/wishlist/wishlist&id=$1  [L]
    #REST API wishlist
    RewriteRule ^api/rest/wishlist index.php?route=rest/wishlist/wishlist  [L]
    #######################################REST API START PAYMENT PROCESS####################################################
    RewriteRule ^api/rest/pay index.php?route=rest/confirm/confirm&page=pay  [L]
    #######################################Contact##############################
    #REST API contact
    RewriteRule ^api/rest/contact index.php?route=rest/contact/send  [L]
    #######################################INFORMATION#################################################################
    #REST API selected information
    RewriteRule ^api/rest/information/?([0-9]+) index.php?route=feed/rest_api/information&id=$1  [L]
    #REST API information
    RewriteRule ^api/rest/information index.php?route=feed/rest_api/information  [L]
    #######################################RETURN#################################################################
    #REST API selected return
    RewriteRule ^api/rest/returns/?([0-9]+) index.php?route=rest/return/returns&id=$1  [L]
    #REST API returns
    RewriteRule ^api/rest/returns index.php?route=rest/return/returns  [L]
    #######################################NEWSLETTER#################################################################
    #REST API newsletter
    RewriteRule ^api/rest/newsletter/subscribe index.php?route=rest/account/newsletter&subscribe=1  [L]
    RewriteRule ^api/rest/newsletter/unsubscribe index.php?route=rest/account/newsletter&subscribe=0  [L]
    #######################################SHIPPING QUOTES######################################################
    #REST API shipping quotes
    RewriteRule ^api/rest/shippingquotes/?([a-zA-Z0-9.\s]+) index.php?route=rest/cart/shippingquotes&id=$1  [L]
    RewriteRule ^api/rest/shippingquotes index.php?route=rest/cart/shippingquotes  [L]
    #######################################Shopping Cart Rest API END####################################
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

    # gzip #
    <IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/text text/html text/javascript text/plain text/xml application/xml text/css application/x-javascript application/javascript
    # remove browser bugs
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    Header append Vary User-Agent
    </IfModule>
    # gzip end #

    # Turn on Expires and set default to 0
    ExpiresActive On
    ExpiresDefault A0

    # Set up caching on media files for 1 week
    <FilesMatch "\.(gif|jpg|jpeg|png)$">
      ExpiresDefault A604800
      Header append Cache-Control "public"
    </FilesMatch>

    # Set up 1 week caching on javascript and CSS
    <FilesMatch "\.(js|css)$">
      ExpiresDefault A604800
      Header append Cache-Control "proxy-revalidate"
      SetOutputFilter DEFLATE
    </FilesMatch>

    # Force no caching for dynamic files
    <FilesMatch "\.(php)$">
      ExpiresActive Off
      Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
      Header set Pragma "no-cache"
    </FilesMatch>

    ### Additional Settings that may need to be enabled for some servers
    ### Uncomment the commands by removing the # sign in front of it.
    ### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

    # 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
    # php_flag register_globals off

    # 2. If your cart has magic quotes enabled, This may work to disable it:
    # php_flag magic_quotes_gpc Off

    # 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
    # php_value upload_max_filesize 999M

    # 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
    # php_value post_max_size 999M

    # 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
    # php_value max_execution_time 200

    # 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
    # php_value max_input_time 200

    # 7. disable open_basedir limitations
    # php_admin_value open_basedir none

請幫忙!

對於來自Android的請求,您可以使用此規則跳過/pwa/api

# Android devices
RewriteCond %{HTTP_USER_AGENT} Android [NC]
RewriteCond %{THE_REQUEST} !\s/+(pwa|api) [NC]
RewriteRule !^pwa/ pwa%{REQUEST_URI} [L,NC]

要讓api按原樣運行,您應該將其從請求中排除,如下所示:

RewriteCond %{HTTP_USER_AGENT} Android [NC]
RewriteCond %{THE_REQUEST} !(pwa|api) [NC]
RewriteRule ^ pwa%{REQUEST_URI} [L]

因為在兩個api可能會在請求中,一個與URI這樣/api/重寫前面之后的第二URI在查詢字符串這樣/rest_api/如此,由先前的規則的任何api與請求來將被排除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM