是他們配置.htaccess文件以只讀特定文件的方式嗎?只說index.php而不是別人?將htaccess配置爲只讀index.php
編輯:我知道index.php是將被讀取的默認文件。我想要這樣的:
如果用戶輸入www.example.com它默認閱讀index.php。 如果輸入www.example.com/index2.php,它應該讀取index2.php。
不是我想要的是無論URL是什麼地方都顯示404錯誤頁面。我只有兩個文件應該被讀取。
是他們配置.htaccess文件以只讀特定文件的方式嗎?只說index.php而不是別人?將htaccess配置爲只讀index.php
編輯:我知道index.php是將被讀取的默認文件。我想要這樣的:
如果用戶輸入www.example.com它默認閱讀index.php。 如果輸入www.example.com/index2.php,它應該讀取index2.php。
不是我想要的是無論URL是什麼地方都顯示404錯誤頁面。我只有兩個文件應該被讀取。
Zend框架提供了一個默認的.htaccess的路由所有請求到index.php,除非被請求的文件確實存在:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
您可能會使其更加嚴格和路由的一切index.php文件:
RewriteEngine On
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
請記住,這會使額外的請求,比如CSS文件變得不可能。
[編輯]
這也是不錯的看看由Drupal的提供的.htaccess。在那裏,某些路徑和文件類型也被阻止。在Drupal的.htaccess的第一個指令是:
<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$">
Order allow,deny
</FilesMatch>
所以,如果你想阻止在application
目錄只有PHP文件訪問和一切,你可能會做:
<FilesMatch "(\.php$|^application)">
Order allow,deny
</FilesMatch>
(不經過測試,因爲我不是htaccess專家,代碼只是我的頭腦;如果需要更正,請有人在評論中發表評論或直接編輯我的代碼)。
「read」是什麼意思? – CodeCaster
你能指定你想要達到什麼嗎?它是爲了什麼?你知道index.php默認是你訪問網站的url時看到的第一個頁面嗎? – poepje
問題很模糊 - 你試圖完成什麼? – Repox