我在ReactJS中构建一个小应用程序,因此所有页面都需要提供index.html,JS处理url。这很好用。但我也希望.htaccess从网址中删除www(如果存在)。我正在阅读mod_rewrite文档,但我无法弄清楚如何让它同时完成。
这是我在.htaccess中的代码,请指教!
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC]
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>
答案 0 :(得分:2)
回答了我自己的问题
<IfModule mod_rewrite.c>
RewriteEngine On
# remove www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L,NE]
# redirect all to index
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [L,NC]
</IfModule>