Htaccess删除.html

时间:2014-04-01 11:05:44

标签: html apache .htaccess

这是我的.htaccess文件中的代码

AddDefaultCharset UTF-8
Options -Indexes

# blocks direct access to the XML files - they hold all the data!
<Files ~ "\.xml$">
Order allow,deny
Deny from all
Satisfy All
</Files>
<Files sitemap.xml>
Order allow,deny
Allow from all
Satisfy All
</Files>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.mywebsite.co.uk$ [NC]
RewriteRule ^(.*)$ http://mywebsite.co.uk/$1 [R=301,L]

# Usually it RewriteBase is just '/', but 
# replace it with your subdirectory path
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+).html$ index.php?id=$1 [QSA,L]

以前产生的大部分都不是由我生成的,这可能是我无法理解的问题。我想从mywebsite.co.uk/promotions.html删除.html。 我已经尝试添加,删除行并长时间搜索答案,但我仍然一无所获。我得到的一切都是这样的:mywebsite.co.uk/?id=promotions更糟糕。其实我是htaccess的新手,大部分代码对我来说或多或少都是神奇的。我很乐意得到一些帮助。

1 个答案:

答案 0 :(得分:0)

你需要这样做

RewriteCond /%{REQUEST_FILENAME}.html -f
RewriteRule ^([a-zA-Z0-9_-\s]+)/$ /$1.html