2013-02-13 41 views
-1

我想從我的文檔在我的網站上刪除的文件擴展名.php這樣的URL將魔神像這樣:
http://www.mysite.com/home/
,而不是像這樣:
http://www.mysite.com/home.php文件擴展名被隱藏,但在原始php內容中打開頁面鏈接?

我已經試過各種mod_rewrite的代碼和他們都沒有工作對我來說,除了這一個:

#Enable rewrite engine 
RewriteEngine On 
# Unless directory, remove trailing slash 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/$ http://www.mysite.com/$1 [R=301,L] 

# Redirect external .php requests to extensionless url 
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/ 
RewriteRule ^(.+)\.php$ http://www.mysite.com/$1 [R=301,L] 

# Resolve .php file for extensionless php urls 
RewriteRule ^([^/.]+)$ $1.php [L] 

我不知道什麼.htaccess,我新到PHP所以我基本上找不出日出去了。目前,這是隱藏.php但其噴涌RAW格式/文本頁面PHP內容,而不是執行這樣的:

<?php 
    $page_title = "Home"; 
    include('includes/header.php'); 
    include('includes/mod_home/mod_intro.php'); 
    include('includes/copyrightbar.php'); 
    include ('includes/mod_login/login_form.php'); 
    include('includes/mod_home/mod_welcome.php'); 
    include('includes/mod_home/mod_platinum.php'); 

?> 

<?php include('includes/mod_home/mod_starlight.php'); ?> 
<?php include('includes/mod_home/mod_diamond.php'); ?> 
<?php include('includes/mod_home/mod_newest.php'); ?> 
<?php include('includes/mod_home/mod_featured.php'); ?> 
<?php include('includes/mod_home/mod_gold.php'); ?> 


<?php include('includes/footer.php'); ?> 

這究竟是爲什麼?我遵循所有在線教程,其他人似乎都沒有這樣的問題。我的服務器支持.htaccess並且正在運行Linux。
我的鏈接還是去home.php例如(我是否需要更改這些?)

+0

請考慮刪除長PHP代碼示例 - 就足以解釋什麼是發生,你不必顯示代碼。儘管我沒有把這個包括到我的編輯中。 – 2013-02-13 14:43:22

回答

0

什麼你錯過的是RewriteBase命令。
這是代碼:

#Start rewriting after/
RewriteBase/
#ignore real directories 
RewriteCond %{REQUEST_FILENAME} !-d 
#ignore real files 
RewriteCond %{REQUEST_FILENAME} !-f 
#Rewrite the match to .php file 
RewriteRule ^(.*)$ $1.php [QSA,L] 

有可能不執行某些原因PHP。因此,可以肯定,試試這個:

AddType application/x-httpd-php .php 

可以代替改寫爲GET paremater頁面,就像這樣:

RewriteRule ^(.*)$ index.php?page=$1 [QSA,L] 
+0

參數頁面做了什麼,你能解釋一下最後一段代碼嗎? – 2013-02-13 14:45:47

+0

我也試過你給我的第一個代碼,它仍然顯示home.php作爲原始的php內容。雖然它隱藏/刪除.php擴展名。但任何想法爲什麼它仍然可以顯示爲原始的PHP文本home.php? – 2013-02-13 14:51:41

+0

你的'htaccess'中是否有其他內容?是不是有一些PHP文件讀取其他文本,而不是'包含它們? – 2013-02-13 14:53:32

相關問題