1

我正在尝试重写,以便您可以访问没有 .html 且不添加斜杠的文件。这是正在使用的代码:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.*?)/?$
RewriteCond %{DOCUMENT_ROOT}/%1.html -f
RewriteRule ^(.*?)/?$ $1.html

但是对于我在服务器上的文件结构,我有这个:

/public_html
          ..
          /beginners
           beginners.html

在 /beginners 文件夹内还有其他文件,例如

          /beginners/page1.html

我需要重写才能像这样工作:

如果用户输入 url: website.com/beginners- 服务器将返回beginners.html当前文件的内容它返回目录的内容/beginners。所以我需要服务器首先检查是否beginners.html存在,如果存在 - 那么服务器beginners.html不提供目录/beginners

如果用户访问 url website.com/beginners/page1,服务器应首先检查 page1.html文件夹中是否存在初学者,如果找到该文件,page1.html则它会提供该文件的内容page1.html

如何才能做到这一点?

4

1 回答 1

4

这是执行此操作的 .htaccess:

Options +FollowSymLinks -MultiViews -Indexes
DirectorySlash Off
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^(.*?)/?$
RewriteCond %{DOCUMENT_ROOT}/%1.html -f
RewriteRule ^(.*?)/?$ $1.html
于 2013-09-28T10:44:24.800 回答