我試圖強制使用位於/app/webroot
的.htaccess中的以下內容刪除或添加尾部斜線到我的CakePHP 2.x應用程序。在Apache上使用.htaccess從CakePHP 2.x刪除或添加尾部斜槓
#<IfModule mod_rewrite.c>
# RewriteEngine On
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteRule^index.php [L]
#</IfModule>
<IfModule mod_rewrite.c>
# Add trailing slash
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|)$
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
</IfModule>
或以下對添加了結尾的斜線。
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
但我不想強制執行域,因爲它可以在本地或子文件夾內運行。我該如何解決?我在網上閱讀的所有文檔似乎都強制執行應用程序的完整網址。
事實上,即使我使用FULL url,它仍然不起作用。有沒有人設法與CakePHP一起工作?看來你必須運行它通過index.php文件
爲了澄清我正在尋找一個解決方案,添加和刪除尾隨在CakePHP的斜槓,而無需將網址硬編碼到.htaccess文件。
你能提供例如像這個網址到那個網址,如果可能的話? – Anubhav
你想達到什麼目的?如果您在URL中輸入尾部斜槓,cake會默認刪除它們並顯示正確的頁面。 您是否試圖從HTMLHelper或路由器生成的URL中刪除尾部的斜槓? –
蛋糕不會刪除它們!如果我輸入'http:// domain.com/posts /'或'http:// domain.com/posts',兩者都可以工作,第一個不會刪除結尾的斜槓,因此可以在BOTH網址訪問該頁面。我想使它的尾部斜槓被刪除。 – Cameron