2014-05-10 90 views
0

我有了下面的代碼的簡單.htaccess文件:簡單mod_rewritten網址添加斜線並顯示錯誤頁面

RewriteBase/

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteCond %{REQUEST_URI} !/$ 
RewriteRule ^(.*)$ $1\.php [L] 

與此相伴,在根目錄下,我有幾個文件(home.phpabout.phpgames.phpemail.php,並且search-me.php)所有應顯示爲mywebsite.com/homemywebsite.com/email等... home.phpabout.php,並email.php所有的工作,但對於一些奇怪的原因,games.phpsearch-me.php添加尾部斜槓的URL和節目結束錯誤頁面:

403 Forbidden

games.php有什麼特別的地方,除了它有幾個<iframes>地段的JavaScript,這使得它有點慢。

search-me.php同時使用$_GET$_POST,具體取決於在上一頁上按下哪個提交按鈕。對於此頁面,它顯示?和變量之前的斜線,但顯示相同的錯誤頁面。

有誰知道這是爲什麼?如果您需要更多信息,請與我們聯繫。我試圖想到所有可能導致它的事情,但事實上,它到games.php,它與home.phpabout.php沒有什麼不同,它看起來好像不是因爲全局變量輸入($_GET$_POST)。

編輯:看起來我有一個名爲games/search-me/的目錄,這當然是爲什麼會產生錯誤。所以,我現在的問題是,是否有可能有一個目錄和文件具有相同的名稱,或者它總是會導致錯誤?

+0

你任何機會已實際目錄名爲'games'和'搜索me'在同一水平上,以及...? – CBroe

+0

我當然希望我從來沒有告訴任何我知道如何編碼的人!你擊中了要害!我有這兩個目錄。所以,現在的問題是有沒有辦法跳過目錄,或者我必須重命名它們?如果我不需要重命名'search-me /'目錄... – BestAnswer

回答

0

這一規則替換您:

RewriteEngine on 

RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] 
RewriteRule ^(.+?)/?$ /$1.php [L] 
+0

我的網站發生錯誤,所以我無法嘗試它。 – BestAnswer