如何使用看起来像这样的htaccess文件创建无扩展名网址?

时间:2012-03-02 00:07:25

标签: html apache .htaccess markup

我试图在我的网站上创建无扩展名网址并提出一些问题。希望有人可以帮助我。

以下是代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.html
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L] 
  1. 无论是否添加,此代码都会添加尾部斜杠。有没有尾随斜线是否更好?或者重要吗?接下来的两个问题取决于问题#1的最佳选择。

  2. 在编写标记时,这是一种更好的写入方式吗? http://www.mysite.com/testhttp://www.mysite.com/test/

  3. 如果我在文件夹中有一个index.html文件"测试"和同一文件夹中的其他文件将使用该文件的非index.html文件上的尾部斜杠胜过其他所有文件?我假设它会。

  4. 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

使用尾部斜杠。 http://www.searchenginejournal.com/linking-issues-why-a-trailing-slash-in-the-url-does-matter/13021/

所以你应该把网址写成www.mysite.com/test/

关于你的上一个问题。我个人会使用目录来摆脱拖尾斜杠。例如,对于您的示例url,我将创建一个目录test并在该目录中添加一个index.html文件。然后将浏览器导航到http://www.mysite.com/test/会转到该页面。另一个好处是您可以在该目录中添加自定义.htaccess文件。

您是否因为我错过了重写规则而遇到特定问题?