0

我用谷歌搜索,找不到我的问题的答案,所以我就是她。如何使用 .htaccess 强制索引页面的文件名在仅由域访问时显示。

因此,如果http://example.com输入http://examples.com/home将显示在地址栏中。

我已经使用 .htaccess 将 home.php 设置为索引页面并删除.php扩展名。

当前的.htaccess

DirectoryIndex home.php

RewriteEngine on 

#add php extension
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteCond %{REQUEST_URI} !^/(phpscripts|js)/ [NC]
RewriteRule ^([^/]*)(?:/(.*?|))?/?$ /$1.php?$2 [L]

# redirect to .php-less link if requested directly
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.php\sHTTP/.+
RewriteCond %{REQUEST_URI} !^/(phpscripts|js)/ [NC]
RewriteRule ^(.*)\.php /$1 [R=301,L]

#redirect www to non-www
RewriteCond %{HTTP_HOST} ^www\.^([a-zA-Z0-9_-]+)$ [NC]
RewriteRule ^(.*)$ http://^([a-zA-Z0-9_-]+)$1 [L,R=301]

#remove trailing slash
RewriteRule ^(.*)/$ /$1 [L,R=301]
4

1 回答 1

-1

你要

RewriteRule ^$  /home [L,R=301]

这应该同时捕获http://example.comhttp://example.com/,并将它们发送到http://example.com/home

于 2013-07-24T21:44:53.623 回答