2015-06-16 29 views
0

你好。我們都知道.mqn不存在。但我想讓我的朋友們相信它的確如此。 在Linux服務器上用.htaccess將.html擴展名重寫爲.mqn?

我想要的是改變.html擴展名,在多功能框中顯示.mqn。當用戶輸入時,我希望index.html顯示爲index.mqn。

我在我的.htaccess文件下面的代碼:

RewriteEngine on 
RewriteRule ^(.*)\.html$ $1.mqn 

有了這個代碼,當有人進入index.mqn,他們可以看到的index.html在網址列顯示的.mqn地址。

但我想要的是,當有人輸入index.html時,index.mqn會顯示在欄中。

有什麼辦法可以達到這個目的嗎?

+0

每個文件擴展名(文件名)存在 –

+0

你需要一個客戶端重定向。你所擁有的純粹是一種內部重寫。例如'重寫... [R = 301,L]' –

回答

0

您需要將用戶重定向到那裏,將[R]標誌添加到您的規則中。

RewriteEngine on 
RewriteRule ^(.*)\.html$ $1.mqn [R] 
1
RewriteEngine on 
RewriteRule ^(.*)\.html$ $1.mqn 

有了這個代碼,當有人進入index.mqn,他們可以看到的index.html 在網址列顯示的.mqn地址。

上面的代碼不會做你說的那樣。該內部重寫爲.mqn,並將在多功能框中顯示.html文件。這可能會給你一個404.

看起來你想要的是相反的。你想顯示。 mqn文件在多功能框中。您應該能夠在.htaccess文件中使用這些規則。這應該將任何在多功能框中輸入.html文件的人重定向,並使其出現 .mqn是real文件。

RewriteEngine On 
RewriteCond %{THE_REQUEST} [A-Z]{3,}\ /(.+)\.html [NC] 
RewriteRule^%1.mqn? [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)\.mqn$ $1.html [L] 
+0

感謝您的回答,但它沒有奏效! – Veo

+0

提供您想要在瀏覽器中使用的示例網址。另外**什麼**沒有工作? –

+0

它導致了一個永久的301重定向,當我打開index.mqn什麼都沒有發生。即使從.htaccess中刪除代碼後,html文件停止打開並顯示404錯誤。 – Veo

相關問題