2016-11-17 88 views
1

我的網址目前是這樣的:http://www.example.com/?content=contact.php現代重寫了的.htaccess

但我希望用戶在URL欄中輸入以下內容:http://www.example.com/contact.php

我將此添加到我的.htaccess文件:

RewriteEngine On 
RewriteRule ^([^/]*)$ /?content=$1 [L] 

但我現在收到此錯誤:

內部服務器錯誤或

服務器遇到內部錯誤或配置錯誤,並且 無法完成您的請求。

請聯繫服務器管理員,[沒有給出地址],並通知 他們發生錯誤的時間,以及您可能已經完成的任何可能導致錯誤的事情 。

有關此錯誤的更多信息可能在服務器錯誤 日誌中可用。

的Apache/2.2.14(Ubuntu的)在www.example.com服務器端口80

我在做什麼錯?

回答

1

嘗試像這樣我假設contact.php是不是實際的文件,

RewriteEngine on 
RewriteRule ^(.*)$ ?content=$1 [QSA,L] 
+0

這將打開'http://www.example.com/ contact.php「而不是打開」http:// www.example.com「並設置」content = contact.php「。你有其他想法嗎? – David

+0

請嘗試編輯! –

0

這應該工作

RewriteRule ^(.*)$ index.php?content=$1 

此規則重定向所有的請求的index.php和傳遞獲取變量「內容」。

例如:?

http://www.example.com/contact.php - >含量= contact.php

http://www.example.com/some/folder/ - >含量=一些/文件夾/

+0

這會打開'http:// www.example.com/contact.php'而不是打開'http:// www.example.com'並設置'content = contact.php'。你有其他想法嗎? – David

+0

正如你所說:'但我希望用戶在URL字段中具有以下內容:http://www.example.com/contact.php' –

+0

問題是如果'example.com/contact.php'如果打開文件'/ contact.php'因爲它存在,但它應該打開'example.com /'並設置GET參數'content = contact.php'。 – David