2015-02-09 95 views
2

我想打開我的頁面,不需要.php擴展名,如www.myweb.com/guest,如果用戶轉到任何頁面,也可以隱藏地址欄中的.php文件我的網站。我嘗試了很多方法將其刪除,以查看這些網頁link1link2以及很多帖子,網址爲StackOverflow,但這些都無法正常工作。隱藏地址欄中的.php擴展名也會打開一個沒有.php擴展名的頁面

從我的Godaddy域名而從ONELANCER託管在這裏的Apache版本2.2.27 PHP版本5.4.28

請給我一個準則。

我想這些添加到我的.htaccess

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

also 

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+)$ /$1.php [L,QSA] 

and also 

Options -MultiViews 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

and also 

#RewriteEngine on# 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)?$ $1.php 

回答

1

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代碼:

RewriteEngine On 
RewriteBase/

# To externally redirect /dir/file.php to /dir/file 
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?] [NC] 
RewriteRule^%1%2 [R=302,L,NE] 

# To internally forward /dir/file to /dir/file.php 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] 
RewriteRule ^(.+?)/?$ $1.php [L] 
+0

感謝ü其工作良好,但在幾個頁面顯示「你不要」 t有權訪問此服務器上的/ mypagename /。此外,嘗試使用ErrorDocument處理請求時遇到404 Not Found錯誤。「 – koc 2015-02-09 15:53:46

+0

mypagename也有一個目錄,我應該改變它嗎?沒有改變有什麼辦法嗎? – koc 2015-02-09 16:12:47

+0

現在它的顯示頁面沒有任何css和js。並顯示地址欄http://myweb.com/mypage/也顯示相同的錯誤,如果我去http://myweb.com/mypage/mylink。 「mypagename」目錄內容爲這些頁面的css和js文件。 – koc 2015-02-09 16:30:50