2016-08-15 96 views
0

我只是想從我的網址中刪除.php,但由於某種原因,我無法讓它工作。我經歷了谷歌的每一頁,我發現的每一個代碼都不起作用。.htaccess刪除.php不在工作網站

有些正在我的本地主機上工作,但沒有人在現場服務器上工作。

比如我想www.website.com/the-url.php去www.website.com/the-url

如果用戶改掉去www.website.com/the -url.php會自動刪除.php爲

這是香港專業教育學院有哪一種在本地主機上的作品,但不是生活的一個片段:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}.php -f 
    RewriteRule ^(.*)$ $1.php 
</IfModule> 

但是,這並不重定向.PHP,它只是讓你查看在/the-url.php或/ url上的頁面

任何人都可以請我幫忙嗎?

+0

誰是您的託管服務提供商?有可能他們沒有啓用.htaccess文件以每個目錄爲基礎工作。如果是這樣,你應該與他們覈實。 – Octopus

+0

好的,我會檢查這個 – virepo

+0

嘗試'RewriteCond%{REQUEST_FILENAME} .php -f RewriteRule!。* \。php $%{REQUEST_FILENAME} .php [QSA,L]' – devpro

回答

0
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

第3條規則的反斜槓。編輯:實際上可能不會改變任何東西。最好添加

+0

這個沒有重定向.php到/ – virepo

-1
<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase/

    #remove ext 
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
    RewriteRule^%1 [R=301,L] 
    #internal redirect 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}.php -f 
    RewriteRule ^(.*?)/?$ $1.php [L] 
</IfModule> 
+0

這顯示我的網址爲http://www.website.com/vhost/vhost15/a/l/l/website.com/www/about – virepo

+0

我修正了代碼。請嘗試 –