簡介設定
擴充套件 realurl
在瀏覽器中提供了帶有 GET 引數的 URL 的完全轉換,例如“index.php?id = 123&type = 0&L = 1”到虛擬路徑中,所謂的 Speaking URL
就像“home / about-us” /index.html“又回來了。目標是 URL 應儘可能具有人類可讀性。
擴充套件非常靈活,可以提供從頁面 ID 的簡單轉換到幾乎任何可能的 GET 引數組合的編碼。
要安裝此擴充套件,必須執行以下四個步驟:
- 將其安裝在 Extension Manager 中
- 配置 Apache / .htaccess
- 使用 RealURL 的配置修改 TypoScript 模板記錄
- 在 typo3conf / localconf.php 中配置擴充套件
配置 Apache
RealURL 通過為虛擬檔案提供虛擬路徑來工作。這些實際上並不存在於檔案系統中,因此如果無法找到該檔案,你必須告訴 Apache 讓 PHP 指令碼處理該請求。這樣,頁面的所有 URL(如 www.server.com/products/product1/left.html)都將重定向到/index.php,後者將處理將 URL 轉換為 GET 引數的過程。儘管如此,真實檔案(如影象,TYPO3 後端,靜態 html 檔案等)仍將由 Apache 自己處理。
你應該將提供的示例 .htaccess 檔案(稱為_.htaccess)放在 TYPO3 安裝的根目錄中。
或者,你可以在 httpd.conf 中包含以下行,可能在 VirtualHost -section 中。這是一個例子:
<VirtualHost 127.0.0.1>
DocumentRoot /var/www/typo3/dev/testsite-3/
ServerName www.test1.intra
RewriteEngine On
RewriteRule ^/typo3$ - [L]
RewriteRule ^/typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php
</VirtualHost>
如果你將它放入 .htaccess 檔案中,它必須看起來略有不同,基本上剝離前導斜槓(“/”):
RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
這將告訴 Apache 它應該重寫每個不是檔名,目錄或符號連結的 URL。它留下了以/ typo3 /單獨開頭的一切。
NGINX 配置 (可選)
如果 NGINX 作為 HTTP 伺服器而不是 Apache 的,重寫規則也需要申請,並放入伺服器的網站結構的剖檢視從網站可用 :
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
TypoScript 配置
將這三行放在你網站的主要 TypoScript 模板記錄中:
config.simulateStaticDocuments = 0
config.baseURL = http://mydomain.com/
config.tx_realurl_enable = 1
第 1 行只是禁用 simulateStaticDocuments
- RealURL
與 simulateStaticDocuments 不相容,如果已啟用它將無法正常工作。這條線應該提醒你這個事實。
第 2 行使前端輸出頁面標題中的 <base>
標記。這是必需的,因為除非已設定虛擬路徑,否則在使用虛擬路徑時,對影象,樣式表等的相對引用將會中斷。請參閱下面的詳細討論,瞭解為何需要這樣做。別忘了寫下你域名的真實姓名! 並注意到最後的斜線 - 它是必需的!
第 3 行可以將 URL 編碼為虛擬路徑,即 Speaking URL
。
如果使用 config.typolinkEnableLinksAcrossDomains,請確保在站點根目錄的所有頁面上選中“是站點根目錄嗎?”。
最後,你必須生成一個 realurl.conf.php 檔案。你可以通過允許擴充套件程式自動建立它,也可以手動執行。
將在下一個主題中介紹
禮貌:
德米特里·杜勒波夫
https://docs.typo3.org/typo3cms/extensions/realurl/Realurl/Index.html