.htaccess的重写规则是用来修改或重定向URL的规则。它可以帮助网站管理员通过简单的配置文件来实现复杂的URL重写操作,以实现URL美化、SEO优化等功能。
以下是一些常见的.htaccess重写规则示例:
Redirect /old-page.html /new-page.html
Redirect /old-folder/ /new-folder/
Redirect /old-page.html http://www.example.com/new-page.html
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^products/([^/]+)/?$ product.php?id=$1 [NC,L]
RewriteEngine On
RewriteBase /subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
DirectoryIndex是Apache服务器的一个配置项,用于指定默认访问的文件名。当用户访问一个文件夹时,如果没有指定具体的文件名,默认会访问DirectoryIndex指定的文件。
例如,如果设置了DirectoryIndex为index.php,则当用户访问一个文件夹时,会默认访问该文件夹下的index.php文件。
可以通过在.htaccess文件中添加以下指令来设置DirectoryIndex:
DirectoryIndex index.php index.html
以上示例指定了默认访问的文件为index.php或index.html。如果访问的文件夹中存在这些文件,则会优先访问这些文件。
综上所述,.htaccess的重写规则可以帮助修改或重定向URL,而DirectoryIndex可以指定默认访问的文件名。两者结合使用可以增强网站的功能和用户体验。