2016-03-03 49 views
1

有沒有辦法直接訪問mydomain.com中的網頁,例如mydomain.com/secretpage.php,當.htaccess文件將所有請求重定向到index.php時?換句話說,如果我在.htaccess文件中有一條將所有請求重定向到index.php的規則,mydomain.com中的頁面是否可以防止公共訪問?.htacces文件能否真正保護內部頁面免受公共訪問?

我.htacces看起來是這樣的:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA] 

...是的,我也沒有以往的經驗與.htaccess文件工作。

+0

如果secret.php存在,你的規則將執行它,不會重定向到的index.php。 2-3行說如果文件或目錄不存在繼續重寫。如果它們存在,它們將正常執行,不會重定向 –

+0

@Muhammed M.是否有一些規則告訴Apache allways將請求重定向到index.php,即使像我的示例中那樣,secretpage.php位於mydomain.com之下? – Nowdeen

+0

您如何區分當地交通和公共交通? – hjpotter92

回答

0

讓你重寫,但刪除條件,總是會加載index.php的方式。

RewriteEngine on 
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA] 

編輯:

如果您不希望允許執行的任何index.php的PHP文件escept但是你要允許訪問其他文件,如JPG,CSS,JS等利用這一點,將所有的PHP文件重定向到的index.php,而不是其他類型的文件:

RewriteEngine On 
RewriteRule (^(.*)\.php)$ index.php?rt=$1 [L,QSA] 
+0

使用這個規則我真的沒有從瀏覽器直接訪問mydomain.com下的文件,但我的網頁在mydomain.com停止加載資源,如js,css,img等...... – Nowdeen

+0

所以你不用除了index.php之外,不想讓任何php文件可訪問嗎? – leonziyo

+0

看看我的編輯,讓我知道如果該作品 – leonziyo