我有以下.htaccess文件:
DirectoryIndex index.html
Options +FollowSymLinks
RewriteEngine On
AddEncoding gzip .gz
AddEncoding gzip .gzip
<FilesMatch "\.(js.gz|js.gzip)$">
ForceType text/javascript
</FilesMatch>
<FilesMatch "\.(css.gz|css.gzip)$">
ForceType text/css
</FilesMatch>
#RewriteCond %{REQUEST_URI} .*/http-bind
#RewriteRule (.*) /http-bind [L]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} !/ow_updates/index\.php
RewriteCond %{REQUEST_URI} !/ow_updates/
RewriteCond %{REQUEST_URI} !/ow_cron/run\.php
RewriteCond %{REQUEST_URI} !/index\.html
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.xml|\.feed|robots\.txt|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
我希望.htaccess中的其他所有内容都能正常工作:将除!
指定的请求之外的所有请求重定向到index.php
。但是,我需要在第一次加载网站时加载index.html
,然后他们继续加载index.php
。
所以我在开头添加了行DirectoryIndex index.html
,然后添加了行RewriteCond %{REQUEST_URI} !/index\.html
,希望当用户输入http://url.com
时,他们会被带到index.html文件,他们会转到http://url.com/homepage
这样的内页,这些内容都将由index.php
处理。
然而,这不起作用。我使用的软件是Oxwall。该网站只是忽略第一行并继续加载index.php无论如何。我该怎么做才能解决这个问题?感谢。
答案 0 :(得分:1)
您可以使用会话或cookie轻松处理此问题。您可以将它始终重定向到index.php,在index.php中,您可以包含index.html文件以显示它们是否第一次访问。如果你将它们重定向到html文件它将无法工作(.htaccess会妨碍),但如果你包含该文件,那么它应该可以正常工作。