欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php apache url重寫

PHP Apache URL 重寫技術(shù)是在 Web 開發(fā)中經(jīng)常用到的技術(shù),它能夠幫助我們重寫 URL 地址,讓網(wǎng)站更加友好。這個(gè)技術(shù)充分利用 Apache 服務(wù)器的模塊化屬性,從而把請(qǐng)求重寫為服務(wù)端能夠解析的 URL,使得訪問者在訪問網(wǎng)站時(shí),感覺更加自然。 重寫 URL 可以被應(yīng)用到各種場(chǎng)景,例如 URL 的保護(hù),使得無法訪問某些私人資源;SEO,使用更優(yōu)化的 URL 地址,使得搜索引擎能夠正確引用頁面;虛擬目錄,美化 URL 地址等等。 一個(gè)經(jīng)典的例子是 WordPress 常用的 Permalinks(永久鏈接)結(jié)構(gòu),可以將默認(rèn)的博客 URL 由形如 “http://example.com?p=123” 變?yōu)楦觾?yōu)化的結(jié)構(gòu) “http://example.com/post-title”。 下面我們來學(xué)習(xí)如何通過 Apache 服務(wù)器的 mod_rewrite 模塊實(shí)現(xiàn) URL 重寫技術(shù)。 首先,我們要打開 Apache 的 mod_rewrite 模塊,在 Apache 的主配置文件 httpd.conf 文件中,找到以下這段配置代碼: ``` # Load module rewrite_module modules/mod_rewrite.so ``` 刪除#號(hào),即可啟用 mod_rewrite 模塊。 接著,在 Apache 的虛擬主機(jī)配置文件中,找到以下的配置: ```AllowOverride None Require all granted``` 將其修改為: ```AllowOverride All Require all granted``` 這樣設(shè)置,就會(huì)允許虛擬主機(jī)中的 .htaccess 文件能夠被解析。 接著,在你的 Web 應(yīng)用程序的 docroot(文檔根目錄)中創(chuàng)建一個(gè) .htaccess 文件。 我們用以下代碼來實(shí)現(xiàn)最常見的 URL 重寫: `\*.php` 轉(zhuǎn)換到 `http://example.com/foo.php` 在 .htaccess 文件中添加以下代碼: ``` RewriteEngine on RewriteRule ^foo/?$ foo.php [NC,L] ``` 其中,RewriteEngine on 表示開啟 URL 重寫;RewriteRule 是 URL 重寫規(guī)則的設(shè)置,^foo/?$ 是匹配的 URL,foo.php 響應(yīng)的 PHP 文件,NC 表示忽略大小寫(不區(qū)分大小寫),L 表示本條規(guī)則是最后一條。 這個(gè)規(guī)則表示任何名為 foo 的請(qǐng)求都被重寫到 foo.php 文件,例如: http://example.com/foo http://example.com/foo/ http://example.com/foo.php?test=abc 都將被重寫到 http://example.com/foo.php 的頁面。 還有一個(gè)非常常見的規(guī)則是移除頁面的 .php 后綴,例如: 從 `http://example.com/page.php` 轉(zhuǎn)換到 `http://example.com/page` 這可以通過以下的 .htaccess 規(guī)則來實(shí)現(xiàn): ``` RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ $1.php [NC,L] ``` 這個(gè)規(guī)則包括三個(gè)部分:第一個(gè)是開啟 URL 重寫;第二個(gè)設(shè)置條件,如果請(qǐng)求的文件名不存在,則請(qǐng)求不被重寫;第三個(gè)條件表示放問的文件加上.php 文件真實(shí)存在,則請(qǐng)求被重寫至該文件名。 這個(gè)規(guī)則通過 .htaccess 文件實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā),所以用戶請(qǐng)求的文件名不需要添加 .php 后綴。規(guī)則還可以優(yōu)化,例如: ``` RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*/?)$ $1.php [NC,L] ``` 這個(gè)規(guī)則支持省略最后的 / 符號(hào),會(huì)將 http://example.com/page 和 http://example.com/page/ 都轉(zhuǎn)發(fā)至 page.php 文件。 還有很多高級(jí)的規(guī)則,例如路由,將某個(gè) URL 地址轉(zhuǎn)發(fā)到指定的 PHP 文件或是處理類,使得開發(fā)人員可以更加靈活地實(shí)現(xiàn) URL 重寫。總而言之,使用 PHP Apache URL 重寫技術(shù),我們可以更加靈活地處理 URL 地址,使得我們的 Web 應(yīng)用程序更加靈活、舒適。