Thanks for reaching out Abuzar, I appreciate it,
I have the instance is at â/Applications/MAMP/htdocs/SuiteCRM8â
MAMPâs document root is set to âApplications/MAMP/htdocsâ
The /public/.htaccess ;
Use the front controller as index file. It serves as a fallback solution when
every other rewrite/redirect fails (e.g. in an aliased environment without
mod_rewrite). Additionally, this reduces the matching process for the
start page (path â/â) because otherwise Apache will apply the rewriting rules
to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl).
DirectoryIndex index.php
By default, Apache does not evaluate symbolic links if you did not enable this
feature in your server configuration. Uncomment the following line if you
install assets as symlinks or if you experience problems related to symlinks
when compiling LESS/Sass/CoffeScript assets.
Options FollowSymlinks
Disabling MultiViews prevents unwanted negotiation, e.g. â/indexâ should not resolve
to the front controller â/index.phpâ but be rewritten to â/index.php/indexâ.
Options -MultiViews
RewriteEngine On
RewriteRule ^index.php.*$ - [L,NC]
# Determine the RewriteBase automatically and set it as environment variable.
# If you are using Apache aliases to do mass virtual hosting or installed the
# project in a subdirectory, the base path will be prepended to allow proper
# resolution of the index.php file and to redirect to the correct URI. It will
# work in environments without path prefix as well, providing a safe, one-size
# fits all solution. But as you do not need it in this case, you can comment
# the following 2 lines to eliminate the overhead.
RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$
RewriteRule .* - [E=BASE:%1]
# Sets the HTTP_AUTHORIZATION header removed by Apache
RewriteCond %{HTTP:Authorization} .+
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
# Redirect to URI without front controller to prevent duplicate content
# (with and without `/index.php`). Only do this redirect on the initial
# rewrite by Apache and not on subsequent cycles. Otherwise we would get an
# endless redirect loop (request -> rewrite to front controller ->
# redirect -> request -> ...).
# So in case you get a "too many redirects" error or you always get redirected
# to the start page because your Apache does not expose the REDIRECT_STATUS
# environment variable, you have 2 choices:
# - disable this feature by commenting the following 2 lines or
# - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
# following RewriteCond (best solution)
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
# If the requested filename exists, simply serve it.
# We only want to let Apache serve files and not directories.
# Rewrite all other queries to the front controller.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ %{ENV:BASE}/index.php [L]
<IfModule !mod_rewrite.c>
# When mod_rewrite is not available, we instruct a temporary redirect of
# the start page to the front controller explicitly so that the website
# and the generated links can still be used.
RedirectMatch 307 ^/$ /index.php/
# RedirectTemp cannot be used instead
/public/legacy/.htaccess ;
BEGIN SUITECRM RESTRICTIONS
RedirectMatch 403 ..log$
RedirectMatch 403 /+not_imported_..txt
RedirectMatch 403 /+(soap|cache|xtemplate|data|examples|include|log4php|metadata|modules|vendor)/+.*.(php|tpl|phar)
RedirectMatch 403 /+emailmandelivery.php
RedirectMatch 403 /+.git
RedirectMatch 403 /+.cache/
RedirectMatch 403 /+tests
RedirectMatch 403 /+RoboFile.php
RedirectMatch 403 /+composer.json
RedirectMatch 403 /+composer.lock
RedirectMatch 403 /+upload
RedirectMatch 403 /+custom/+blowfish
RedirectMatch 403 /+cache/+diagnostic
RedirectMatch 403 /+files.md5$
Options +SymLinksIfOwnerMatch
Options -Indexes
Options -MultiViews
RewriteEngine On
RewriteBase /SuiteCRM8/public/legacy/
RewriteRule ^cache/jsLanguage/(.._..).js$ index.php?entryPoint=jslang&modulename=app_strings&lang=$1 [L,QSA]
RewriteRule ^cache/jsLanguage/(\w*)/(.._..).js$ index.php?entryPoint=jslang&modulename=$1&lang=$2 [L,QSA]
RewriteRule ^ep/(.*?)$ index.php?entryPoint=$1 [L,QSA]
# --------- DEPRECATED --------
RewriteRule ^api/(.*)$ - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^api/(.*?)$ lib/API/public/index.php/$1 [L]
# -----------------------------
RewriteRule ^Api/authorize$ index.php?module=OAuth2AuthCodes&action=authorize [R=302,QSA,NE]
RewriteRule ^Api/(.*)$ - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^Api/access_token$ Api/index.php [L]
RewriteRule ^Api/V8/(.*?)$ Api/index.php [L]
Header unset ETag
FileETag None
Header unset X-Powered-By
Header always unset X-Powered-By
ExpiresActive on
ExpiresDefault "access plus 1 month"
CSS
ExpiresByType text/css âaccess plus 1 yearâ
Data
ExpiresByType application/atom+xml âaccess plus 1 hourâ
ExpiresByType application/rdf+xml âaccess plus 1 hourâ
ExpiresByType application/rss+xml âaccess plus 1 hourâ
ExpiresByType application/json âaccess plus 0 secondsâ
ExpiresByType application/ld+json âaccess plus 0 secondsâ
ExpiresByType application/schema+json âaccess plus 0 secondsâ
ExpiresByType application/geo+json âaccess plus 0 secondsâ
ExpiresByType application/xml âaccess plus 0 secondsâ
ExpiresByType text/calendar âaccess plus 0 secondsâ
ExpiresByType text/xml âaccess plus 0 secondsâ
Favicon
ExpiresByType image/x-icon âaccess plus 1 weekâ
HTML
ExpiresByType text/html âaccess plus 0 secondsâ
JavaScript
ExpiresByType application/javascript âaccess plus 1 yearâ
ExpiresByType application/x-javascript âaccess plus 1 yearâ
ExpiresByType text/javascript âaccess plus 1 yearâ
Markdown
ExpiresByType text/markdown âaccess plus 0 secondsâ
Media files
ExpiresByType audio/ogg âaccess plus 1 monthâ
ExpiresByType image/bmp âaccess plus 1 monthâ
ExpiresByType image/gif âaccess plus 1 monthâ
ExpiresByType image/jpeg âaccess plus 1 monthâ
ExpiresByType image/jpg âaccess plus 1 monthâ
ExpiresByType image/png âaccess plus 1 monthâ
ExpiresByType image/svg+xml âaccess plus 1 monthâ
ExpiresByType image/webp âaccess plus 1 monthâ
ExpiresByType video/mp4 âaccess plus 1 monthâ
ExpiresByType video/ogg âaccess plus 1 monthâ
ExpiresByType video/webm âaccess plus 1 monthâ
Fonts
ExpiresByType font/eot âaccess plus 1 monthâ
ExpiresByType font/opentype âaccess plus 1 monthâ
ExpiresByType font/otf âaccess plus 1 monthâ
ExpiresByType application/x-font-ttf âaccess plus 1 monthâ
ExpiresByType font/ttf âaccess plus 1 monthâ
ExpiresByType application/font-woff âaccess plus 1 monthâ
ExpiresByType application/x-font-woff âaccess plus 1 monthâ
ExpiresByType font/woff âaccess plus 1 monthâ
ExpiresByType application/font-woff2 âaccess plus 1 monthâ
ExpiresByType font/woff2 âaccess plus 1 monthâ
Other
ExpiresByType text/x-cross-domain-policy âaccess plus 1 weekâ
Header set X-Content-Type-Options ânosniffâ
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]
END SUITECRM RESTRICTIONS
Sorry about the formatting. This edit box has a mind of itâs own.