當前位置:首頁 » 編程語言 » indexphp隱藏

indexphp隱藏

發布時間: 2022-03-07 16:42:50

Ⅰ 如何隱藏url中的index.php

在你的虛擬路勁加一個:以我的為例

<VirtualHost*:80>
DocumentRoot"D:/wamp/apache/htdocs"
<Directory"D:/wamp/apache/htdocs">
DirectoryIndexindex.phpindex.html//默認的索引文件
Allowoverrideall
</Directory>
</VirtualHost>

在你的根目錄新建個.htaccess文件 加入下面代碼也可以

DirectoryIndexindex.php

thinkphp 配置文件也可以設置,忘記了。

Ⅱ 如何將域名後默認顯示的index.php隱藏不顯示啊

iis設置默認文檔 index.html在index.php前面apache 設置 DirectoryIndex虛擬主機到空間商後台找

Ⅲ 部分網站url中index.php自動隱藏是如何實現的

根目錄下新建立一個配置文件,命名為: .htaccess
在裡面這樣寫:

RewriteEngineon
RewriteCond$1!^(index.php|images|robots.txt)
RewriteRule^(.*)$/index.php/$1[L]

就可以去掉 index.php 了。要注意 /index.php/$1 要根據你目錄(Web 目錄,比如 http://www.domain.com/index.php)的實際情況來定,比如網站根目錄是 /ci/index.php 則要寫成 /ci/index.php/$1

RewriteCond$1!^(index.php|images|robots.txt)

上面的代碼意思是排除某些目錄或文件,使得這些目錄不會 rewrite 到 index.php 上,這一般用在圖片、js、css 等外部資源上。也就是說非 PHP 代碼都要排除出去。(這里我排除了 images 目錄和 robots.txt 文件,當然 index.php 也應該被排除)
哦,對了,還要修改 config.php 這個文件中的下列內容:

/*
|--------------------------------------------------------------------------
|IndexFile
|--------------------------------------------------------------------------
|
|Typicallythiswillbeyourindex.phpfile,unlessyou'verenameditto
|somethingelse.Ifyouareusingmod_rewritetoremovethepagesetthis
|variablesothatitisblank.
|
*/
$config['index_page']="index.php";

把其中的 "index.php" 改成 "" 就可以了。

Ⅳ Thinkphp3.2.1版本的隱藏index.php怎麼弄

REWRITE模式是在PATHINFO模式的基礎上添加了重寫規則的支持,可以去掉URL地址裡面的入口文件index.php,但是需要額外配置WEB伺服器的重寫規則。

如果是Apache則需要在入口文件的同級添加.htaccess文件,內容如下:

<IfMolemod_rewrite.c>RewriteEngineonRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php/$1[QSA,PT,L]</IfMole>

接下來,就可以用下面的URL地址訪問了:http://localhost/home/user/login/var/value


參考自ThinkPHP 3.2使用手冊:http://document.thinkphp.cn/manual_3_2.html#url

Ⅳ php為什麼要隱藏入口文件index.php啊,有什麼用途.

不是隱藏,只不過伺服器設置的默認文檔而已,個人覺得作用就是方便,輸入url的時候不需要輸入index.php了,當然,輸入全了也沒問題。要知道,瀏覽網站的時候,輸入網址很麻煩,又是字母,數字,還有斜杠和點,所以輸入網址能少寫一點就會方便很多。而通常普通訪客登錄網站,只會輸入一次網站,就是網站首頁,訪問其他頁面都是通過頁面中的鏈接來進行的。所以針對首頁,設置成默認文檔,就方便很多了。

Ⅵ php可以隱藏後綴嗎,比如index.php,顯示為index

樓主應該是問的在瀏覽器中訪問的時候吧,這個是可以通過url重寫規則來實現的,比如你看到的這問題頁的地址..com/question/***.html,其實它並不是訪問了一個真正的html文件。

對於php的url重寫實現方式,有伺服器配置,如nginx,apache的rewrite,大多數php框架本身也支持url重寫功能,一般會有dispatch【請求分發】, rewrite【請求重寫】等關鍵詞。

舉個nginx中的rewrite示例:
rewrite "^/index$" /index.php break;
一般在nginx安裝位置下有conf/nginx.conf文件,或conf/nginx.conf中引用了其他文件,可以加入rewrite配置。

Ⅶ apache 偽靜態如何隱藏index.php

Apache偽靜態配置方法有兩種:

在網站根目錄下添加文件,.htaccess,在此文件內寫偽靜態規則,使用它需要在apache配置文件http.conf中完成相應配置.具體配置方法網上很多,這里不再贅述.

而另一種是直接在httpd.conf中使用.這種方法性能高於前者。

應用場景

(1),採用.htaccess的場景

用戶需要針對特定目錄改變伺服器的配置而又沒有root許可權的情況下,可以通過.htaccess文件實現。

如果伺服器管理員不願意頻繁修改配置,則可 以允許用戶通過.htaccess文件自己修改配置. 比如ISP,在同一個機器上運行了多個用戶站點,希望用戶可以自

己改變配置,便可以配置好apache,開啟對.htaccess文件的支持即可.

(2),不採用.htaccess的場景

雖然上述步驟1可以實現,但一般都應該盡可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件(http.conf)的段中,而且更高效。

(3)避免使用.htaccess文件有兩個主要原因

首先是性能。如果AllowOverride啟用了.htaccess文件,則Apache需要在每個目錄中查找.htaccess文件,因此,無論是否真正用到,啟用.htaccess都會導致

性能的下降。另外,對每一個請求,都需要讀取一次.htaccess文件。

還有,Apache必須在所有上級的目錄中查找.htaccess文件,以使所有有效的指令都起作用,所以,如果請求/www/htdocs/example中的頁面,Apache必須查找以下文件:

/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess

總共要訪問4個額外的文件,即使這些文件都不存在。(注意,這可能僅僅由於允許根目錄」/」使用.htaccess ,雖然這種情況並不多。)

其次是安全。這樣會允許用戶自己修改伺服器的配置,這可能會導致某些意想不到的修改,所以請認真考慮是否應當給予用戶這樣的特權。但是,如果給予用

戶較少 的特權而不能滿足其需要,則會帶來額外的技術支持請求,所以,必須明確地告訴用戶已經給予他們的許可權,說明AllowOverride設置的值,並引導他

們參閱相應的說明,以免日後生出許多麻煩。

注意,在/www/htdocs/example目錄下的.htaccess文件中放置指令,與在主配置文件中段中放置相同指令,是完全等效的。

總結

由上我們可以知道,使用.htaccess文件具有性能上的不利之處,所以我們應該盡可能避免使用.htaccess文件,下面介紹一種不使用.htaccess文件進行偽靜態

的方法:

Apache 1.x 的用戶請檢查 conf/httpd.conf 中是否存在如下兩段代碼:
LoadMole rewrite_mole libexec/mod_rewrite.so
AddMole mod_rewrite.c

Apache 2.x 的用戶請檢查 conf/httpd.conf 中是否存在如下一段代碼:
LoadMole rewrite_mole moles/mod_rewrite.so
如果存在,且以#開頭,請刪除#。然後在配置文件(通常就是 conf/httpd.conf或者conf/extra/httpd-vhosts.conf)中加入如下代碼。此時請務必注意,如果網

站使用通過虛擬主機來定義,請務必加到虛擬主機配置段 中去,如果加在虛擬主機配置外部將可能無法使用。改好後然後將 Apache 重啟。



①.在apache配置文件httpd.conf中找到:

LoadMole rewrite_mole moles/mod_rewrite.so
這句,去掉前邊的注釋符號「#」,如果沒有則添加這句。

②.在代碼:

Options FollowSymLinks
AllowOverride None
下面添加偽靜態代碼(以Wordpress偽靜態為例):

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
其中/usr/local/apache/htdocs/wwwtest即為要進行偽靜態的網站的根目錄

③.重啟apache

Ⅷ thinkphp 怎樣隱藏掉index.php

#偽靜態和泛域名
#此文件禁止在行內注釋
<IfMole mod_rewrite.c>
RewriteEngine on
#禁止對圖片等文件重寫:沒有這一條,所有的404都會執行index.php腳本,耗費大量資源。
RewriteCond %{REQUEST_URI} !((.*).jpg|.jpeg|.bmp|.gif|.png|.js|.css)$
#禁止對/public文件夾內重寫,作用同上
RewriteCond %{REQUEST_URI} !(^/public/(.*))$
#如果是一個物理存在的目錄,禁止重寫
RewriteCond %{REQUEST_FILENAME} !-d
#如果是一個物理存在的文件,禁止重寫
RewriteCond %{REQUEST_FILENAME} !-f
#上面2條不識別REQUEST_FILENAME時的替代寫法
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
#php api模式,伺服器能識別PATH_INFO
#RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
#php fastcgi模式 伺服器不識別PATH_INFO
RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L]
</IfMole>

Ⅸ thinkphp怎麼隱藏index.php

IIS環境
如果你的伺服器環境支持ISAPI_Rewrite的話,可以配置httpd.ini文件,添加下面的內容:
RewriteRule (.*)$ /index\.php\?s=$1 [I]
在IIS的高版本下面可以配置web.Config,在中間添加rewrite節點:
<rewrite>
<rules>
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>
Nginx環境
在Nginx低版本中,是不支持PATHINFO的,但是可以通過在Nginx.conf中配置轉發規則實現:
location / { // …..省略部分代碼
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
其實內部是轉發到了ThinkPHP提供的兼容模式的URL,利用這種方式,可以解決其他不支持PATHINFO的WEB伺服器環境。

如果你的ThinkPHP安裝在二級目錄,Nginx的偽靜態方法設置如下,其中youdomain是所在的目錄名稱。
location /youdomain/ {
if (!-e $request_filename){
rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=$1 last;
}
}

Ⅹ 如何隱藏已經上線的index.php

第一步:'URL_MODEL'=>'2',
第二步:根路徑下建立一個.htaccess,可以通過一些軟體比如EditPlus去另存為,windows可能不能直接創建
第三步:
<IfMole mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfMole>
放到.htaccess中保存

第四步開啟Apache rewrite 模式 去配置文件中#LoadMole rewrite_mole moles/mod_rewrite.so 去掉前面的#,AllowOverride None改為AllowOverride All ok
當然如果你不是Apache 是IIS就不能這樣配了

熱點內容
FTP伺服器本地策略 發布:2025-01-13 13:20:47 瀏覽:485
地下城堡2掛機腳本 發布:2025-01-13 13:20:44 瀏覽:205
web雲伺服器配置 發布:2025-01-13 13:19:54 瀏覽:459
小康密碼是多少 發布:2025-01-13 13:19:13 瀏覽:41
javafile類 發布:2025-01-13 13:19:08 瀏覽:83
c語言求逆 發布:2025-01-13 13:14:43 瀏覽:929
中控大屏怎麼看配置 發布:2025-01-13 13:11:33 瀏覽:912
linux多行刪除 發布:2025-01-13 13:06:01 瀏覽:200
傳奇3離線腳本 發布:2025-01-13 13:05:08 瀏覽:751
java請求https 發布:2025-01-13 12:53:35 瀏覽:868