2012-05-23 88 views
1

我想隱藏以下php文件的任何請求到www.example.com/。mod重寫隱藏url

www.example.com/index.php to www.example.com/  (hide index.php) 
    www.example.com/content.php to www.example.com/ (hide content.php) 
    www.example.com/welcome.php to www.example.com/ (hide welcome.php) 

注意:我只想隱藏文件而不重定向它們。例如,將部件隱藏在index.php或content.php上,而不將其重定向到www.example.com/。

我試圖

RewriteEngine On 

RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(\?.*)?\ HTTP/ 
RewriteRule^http://%{HTTP_HOST}/%1 [R=301] 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule .* $0.php 

我也試過

DirectoryIndex index.php 
DirectoryIndex content.php 
DirectoryIndex welcome.php 

這些代碼似乎沒有工作。任何想法?對不起,我對此很陌生。

回答

3

如果我正確地記得這樣的事情應該正常工作。

重寫規則^/index.php的$ http://www.example.com/ [R,NC,L]
重寫規則^/content.php $ http://www.example.com/ [R,NC,L]
重寫規則^ /的welcome.php $ http://www.example.com/ [R,NC ,L]

親切的問候,

+0

謝謝你,這個工程。但是,無論如何,只要隱藏index.php或content.php而不將用戶重定向到另一個URL? – Nick

+2

@Nick不,不適用於mod_rewrite。它有兩個主要目的:1)在不更改URL的情況下提供不同的頁面(通常用於URL的「漂亮打印」)或2)將用戶重定向到完全不同的URL。如果你真的需要這種功能(儘管我會問爲什麼),那麼你可能在客戶端有一些JavaScript運氣, http://stackoverflow.com/a/1465/283242 – IBBoard

+0

非常感謝博。你幫了我很多。原因是我正在做Facebook應用程序,我不希望用戶看到我的文件位於何處。 – Nick