无论URL是什么,我都希望我的网站指向index.html。
http://localhost/WebsiteName/
http://localhost/WebsiteName/whatever
http://localhost/WebsiteName/whatever/whatever-1/whatever-2/whatever-3/etc
通过在我的apache配置中使用以下重写代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.html [L]
当URL为以下任意一项时,我的URL正常工作:
http://localhost/WebsiteName/
http://localhost/WebsiteName/whatever
但是在这样或进一步扩展时会中断:
http://localhost/WebsiteName/whatever/
http://localhost/WebsiteName/whatever/whatever-1/whatever-2/whatever-3/etc
每当我使用其中一个中断的URL时,就好像目录中存在另一个文件夹“ whatever”。
我不想更改URL,无论它是什么,我都希望它指向我的index.html。
答案 0 :(得分:0)
根据您所拥有的内容,所有这些url都应转到您的index.html。假定index.html位于DOCUMENT_ROOT。
我不确定您的问题是什么,但可能没有重写非文件的条件。当它是文件时,请停止重写。我注意到,无论使用哪种配置,网站上的任何更改都可以,但也许对您有用。
RewriteEngine on
### If a uri leads to an actual file or directory (presumably with it's own index.html), then don't rewrite any further
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
### everything else
RewriteRule . /index.html [L]