htaccess添加文件扩展名或绕过

时间:2013-12-20 15:48:56

标签: regex .htaccess file-extension

我使用htaccess删除扩展名或重定向,例如;

RewriteRule ^([^\.]+)$ $1.html [NC,L]
RewriteRule ^(.*)/$ /$1.php [L]

我想知道是否有人以这种方式习惯了它:

如果找不到文件扩展名,请检查同名的html或php文件,重定向到文件exith扩展名。

我只能找到重定向,文件扩展名删除和向文件添加尾部斜杠的示例,而不是像我的例子那样做任何想法?

1 个答案:

答案 0 :(得分:3)

DOCUMENT_ROOT/.htaccess文件中试用此代码:

RewriteEngine On

# see if .php file can be found with same name
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]

# now see if .html file can be found with same name
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.+?)/?$ /$1.html [L]