我希望拥有一个单页应用,但只能在以下子网址中使用:
//The following would all be valid, but handled by the "index.html"
//at http://www.test.com/webapp
http://www.test.com/webapp
http://www.test.com/webapp/settings
http://www.test.com/webapp/start
我希望所有网址看起来与上面完全相同,但需要处理:http://www.test.com/webapp/index.html
。
我还希望该页面能够处理 不 的以下网址:
http://www.test.com
http://www.test.com/contact
http://www.test.com/about
我该怎么做?
常规单页HTACCESS
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [QA,L]
</ifModule>
答案 0 :(得分:4)
只需添加答案以供参考。
来自@Croises的通讯:
“相同([QSA]不是[QA])但在webapp目录中”
为我工作。
“.htaccess”必须位于子目录上。
工作示例“.htaccess”:
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [QSA,L]
</ifModule>
唯一不同的是“[QA,L]”到“[QSA,L]”
答案 1 :(得分:0)
标记为好的答案对我不起作用。在我的解决方案之下:
1)在放置应用的文件夹中创建.htaccess
2)粘贴下面的代码
3)将folder_name
更改为您的文件夹名称。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /folder_name/
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /folder_name/index.html [L]
</IfModule>