2014-04-01 45 views
0

這是代碼從我的.htaccess文件.htaccess中移除的.html

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和大部分代碼是或多或少對我來說是魔術。我會很高興得到一些幫助。

回答

0

你需要做的是這樣的

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

你的意思是刪除:! 的RewriteCond%{} REQUEST_FILENAME -f 的RewriteCond%{} REQUEST_FILENAME -d 重寫規則/(A-ZA-? z0-9 _-] +)。html $ index.php?id = $ 1 [QSA,L] 並使用你的公式?現在我有500內部服務器錯誤 – user3484704

+0

這兩種方式應該工作抱歉,你有沒有檢查你的服務器配置? 只是爲了看看Apache是​​否啓動並且它是可見的? –

+0

其實我沒有這臺服務器的權限。那麼,謝謝你,我想我可以自己改變它,但如果你說它是服務器配置,我需要停止浪費我的時間在這項任務上。 – user3484704