我们是第一次设置AEM,我们面临的问题是网址中没有.html。例如,如果URL应该是
http://dev.alfaromeousa.com/cars/usa/en.html
它实际上是
http://dev.alfaromeousa.com/cars/usa/en/
对于临时解决方案,我们添加了以下重写规则
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ - [L]
RewriteCond %{REQUEST_URI} !^.*.html$
RewriteRule ^(.*)$ $1.html [L,R=301]
但是当URL类似于
时它会失败添加.html。所以URL变成了
http://dev.abc.com/cars/usa/.html
任何人都可以帮我弄清楚我是否错过了设置或做错的事情
答案 0 :(得分:0)
使用以下重写规则解决了该问题:
RewriteCond %{REQUEST_URI} !^/aemusaerror/(.*) [NC]
RewriteCond %{REQUEST_URI} !^/content/dam(.*) [NC]
RewriteCond %{REQUEST_URI} !^/etc/designs(.*) [NC]
RewriteCond %{REQUEST_URI} !^/vl/(.*)json [NC]
RewriteCond %{REQUEST_URI} !^/timestamp [NC]
RewriteCond %{REQUEST_URI} !(.*)\.[a-zA-Z0-9-]+$
RewriteCond %{REQUEST_URI} !^/renderer/(.*) [NC]
RewriteRule ^(/.*)$ /content/alfausa/en$1.html [P,L]