我正在重建网站,并希望按以下方式进行设置:
1)index.html以外的页面,例如www.website.co.uk/support/web-design.html成为www.website.co.uk/support/web-design /
2)不在子文件夹中的页面,例如www.website.co.uk/contact.html成为www.website.co.uk/contact /
我知道我应该使用.htaccess文件。我看过各种网站解释htaccess和mod_rewrite但需要帮助。任何人都可以解释如何设置这个以实现上述目标吗?
由于
答案 0 :(得分:0)
尝试:
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+([^\?]+)\.html
RewriteCond %1 !^index$
RewriteRule ^ /%1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.+?)/?$ /$1.html [L]
这些规则将放在文档根目录
中的htaccess文件中答案 1 :(得分:0)
您可以在DOCUMENT_ROOT/.htaccess
文件中使用此代码:
RewriteEngine On
RewriteRule ^index\.html$ - [L,NC]
# To internally forward /dir/file to /dir/file.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.html -f [NC]
RewriteRule ^(.+?)/?$ /$1.html [L]