日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php框架 > CakePHP > CakePHP URL重寫

CakePHP URL重寫

來源:程序員人生   發(fā)布時(shí)間:2014-09-09 07:51:08 閱讀次數(shù):4549次

URL 重寫

Apache 和 mod_rewrite (.htaccess)

當(dāng) CakePHP 建立在以 mod_rewrite 為工作環(huán)境時(shí)(通常都會(huì)這么做) ,一些用戶會(huì)努力去做一切能讓系統(tǒng)更好運(yùn)行的事情。

這里有一些事情你可以嘗試讓它能夠正常運(yùn)行。先看看你的 httpd.conf。 (請(qǐng)確保您編輯的是系統(tǒng)的 httpd.conf 而不是一個(gè)用戶或站點(diǎn)特定的 httpd.conf。)

這些文件在不同的Apache發(fā)行版本之間有所不同。你可以先查看 http://wiki.apache.org/httpd/DistrosDefaultLayout 以進(jìn)一步了解更多信息。

1.   確保一個(gè).htaccess 是充許修改的,并且將DocumentRoot 的 AllowOverride 全部設(shè)置成 ALL。你應(yīng)該看到下面類似的設(shè)置:

# Each directory to which Apache has access can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # # First, we configure the "default" to be a very restrictive set of # features. # <Directory /> Options FollowSymLinks AllowOverride All # Order deny,allow # Deny from all </Directory>


2.  請(qǐng)確保您正確加載了mod_rewrite。你應(yīng)該會(huì)看到類似的設(shè)置:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

在許多系統(tǒng)中在默認(rèn)的性況下它都是被注釋掉的,所以請(qǐng)刪除前面的 "#" 符號(hào)。

進(jìn)行更改后,重新啟動(dòng)Apache,以確保這些設(shè)置能夠及時(shí)生效。

請(qǐng)確認(rèn)你的 .htaccess 文件放置在正確的目錄下,有些系統(tǒng)認(rèn)為以 ”.“ 開頭的文件是隱藏的不會(huì)進(jìn)行復(fù)制。


3.  請(qǐng)確保您的CakePHP副本是從CakePHP網(wǎng)站或從GitHub中下載的,并正確的解壓,通過檢查是存在 .htaccess 文件。

         CakePHP的根目(必須拷貝到您你的文檔目錄;一切都重定向到您的的CakePHP應(yīng)用程序):

<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule>

CakePHP app 目錄(復(fù)制到應(yīng)用程序的頂層目錄):

<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] </IfModule>

CakePHP webroot 目錄(復(fù)制到應(yīng)用程序的webroot目錄): 

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </IfModule>

如果您的CakePHP的網(wǎng)站的mod_rewrite 出現(xiàn)問題,你可能想嘗試修改虛擬主機(jī)設(shè)置。在Ubuntu上,編輯文件 /etc/apache2/sites-available/default(位置在 distribution-dependent)。 在這個(gè)文件中,確保 AllowOverride None 被修改為 AllowOverride All, 所以你必須按照下的方式進(jìn)行修改:

<Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www> Options Indexes FollowSymLinks MultiViews AllowOverride All Order Allow,Deny Allow from all </Directory>

在Mac OSX,另一種解決方案是使用工具 virtualhostx 做一個(gè)虛擬空間指向你的文件夾。

對(duì)于許多托管服務(wù)(如GoDaddy,1and1),您的Web服務(wù)器實(shí)際上在相應(yīng)的目錄中使用了 mod_rewrite 應(yīng)用。 如果您安裝了CakePHP的用戶目錄 (http://example.com/~username/cakephp/), 或者已經(jīng)利用了mod_rewrite任何其他的URL結(jié)構(gòu), 你需要將 RewriteBase 指令語句添加到 .htaccess文件應(yīng)用到CakePHP相應(yīng)的目錄 (/.htaccess, /app/.htaccess, /app/webroot/.htaccess)。

這可以被添加到同一節(jié)中與RewriteEngine指令,所以舉例來說,你的Web根目錄 .htaccess 文件會(huì)是下面的樣子:

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /path/to/cake/app RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </IfModule>

這些變化的細(xì)節(jié)將取決于你的設(shè)置,并且可以包含不相關(guān)的CakePHP的額外的東西。詳情請(qǐng)參閱有關(guān)詳細(xì)信息,Apache的聯(lián)機(jī)文檔。

4.選修)要提高CakePHP生產(chǎn)安裝,你應(yīng)該避免無效資產(chǎn)被解析了。 修改您的 webroot .htaccess 像:

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /path/to/cake/app RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^/(app/webroot/)?(img|css|js)/(.*)$ RewriteRule ^(.*)$ index.php [QSA,L] </IfModule>

上述只會(huì)防止不正確的資源被發(fā)送到index.php文件,顯示你的web服務(wù)器的404頁面。

另外,你可以創(chuàng)建一個(gè)匹配的HTML404 頁面,或通過增加一個(gè) ErrorDocument 指令使用內(nèi)置的CakePHP 404 默認(rèn)為:

ErrorDocument 404 /404-not-found

關(guān)于 nginx 漂亮的 URL

nginx是一個(gè)使用較少的系統(tǒng)資源比Apache流行的服務(wù)器。 它的缺點(diǎn)是,它并沒有使用像Apache使用.htaccess文件,所以需要在站點(diǎn)上配置URL重寫。 這取決于你的設(shè)置,你將不得不修改這一點(diǎn),但最起碼,你需要運(yùn)行的PHP作為一個(gè)FastCGI的實(shí)例。

server { listen 80; server_name www.example.com; rewrite ^(.*) http://example.com$1 permanent; } server { listen 80; server_name example.com; # root directive should be global root /var/www/example.com/public/app/webroot/; index index.php; access_log /var/www/example.com/log/access.log; error_log /var/www/example.com/log/error.log; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

IIS7 URL重寫 (Windows 主機(jī))

IIS7本身不支持.htaccess文件。雖然有附加軟件,可以添加這種支持,您還可以導(dǎo)入htaccess的規(guī)則到IIS使用CakePHP的URL重寫。要做到這一點(diǎn),請(qǐng)按照下列步驟操作:

  1. 使用 Microsoft’s Web Platform Installer 安裝 URL Rewrite Module 2.0 或直接下載 (32-bit / 64-bit)。
  2. 創(chuàng)建一個(gè)名為web.config文件在CakePHP的根文件夾中。
  3. 使用記事本或任何XML編輯器,將以下代碼復(fù)制到新的web.config文件...
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Rewrite requests to test.php" stopProcessing="true"> <match url="^test.php(.*)$" ignoreCase="false" /> <action type="Rewrite" url="app/webroot/test.php{R:1}" /> </rule> <rule name="Exclude direct access to app/webroot/*" stopProcessing="true"> <match url="^app/webroot/(.*)$" ignoreCase="false" /> <action type="None" /> </rule> <rule name="Rewrite routed access to assets(img, css, files, js, favicon)" stopProcessing="true"> <match url="^(img|css|files|js|favicon.ico)(.*)$" /> <action type="Rewrite" url="app/webroot/{R:1}{R:2}" appendQueryString="false" /> </rule> <rule name="Rewrite requested file/folder to index.php" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <action type="Rewrite" url="index.php" appendQueryString="true" /> </rule> </rules> </rewrite> </system.webServer> </configuration>

一量 web.config 重寫規(guī)被正確的創(chuàng)建在IIS中, CakePHP的鏈接, CSS, JavaScipt, 和路由都能正確的工作。

lighttpd URL 重寫

Lighttpd 不支持.htaccess的功能,這樣你就可以刪除所有.htaccess文件。在lighttpd的配置中,請(qǐng)確保您已激活“mod_rewrite”。添加如下面一行:

url.rewrite-if-not-file =( "^([^?]*)(?(.+))?$" => "/index.php?url=$1&$3" )

我不想或不能使用URL重寫

如果你不想或不能使用URL重寫您的網(wǎng)絡(luò)服務(wù)器,請(qǐng)參閱核心配置。


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产精品福利一区二区 | 日韩一区不卡 | 久久久91精品国产一区二区三区 | 久久99999| 欧美精品导航 | 91在线小视频| 手机看片福利永久 | 亚洲毛片在线看 | 亚洲性视频 | 只有这里有精品 | 成年人在线免费观看 | 亚洲欧美日韩天堂 | 色综合天天综合网国产成人网 | www.成人网| 国产毛片精品国产一区二区三区 | 亚洲一区二区视频在线 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 久久99精品久久久久久久 | 日韩精品一区二区三区在线播放 | 国产综合视频在线观看 | 极品销魂一区二区三区 | 成人毛片网 | 亚洲一二三四区电影 | 麻豆精品国产传媒mv男同 | 欧美一区二区三区免费 | 国产精品视频播放 | 中文字幕91av | 久久婷婷一区 | 日韩一区二区精品视频 | 国产日韩中文字幕 | 日韩欧美精品一区二区三区经典 | 一区二区三区免费在线观看 | 国产网站在线播放 | 国产区视频在线观看 | 欧美三区在线观看 | 日韩小视频在线观看 | 国产精品一区二区在线 | 亚洲视频在线一区 | 黄色观看 | 亚洲久久 | 国产精品久久久久久久久免费相片 |