0

我想要實現的是在我的推送狀態URL添加(強制)WWW時,它不存在。棘手的Apache重寫推狀態+添加WWW

我試圖熟悉重寫,並四處尋找可能的解決方案。在我的本地機器上也嘗試了很多變體。不知怎的,我只是不明白。

這裏是我有什麼,這是工作(我的httpd.conf文件中)

RewriteEngine On 
RewriteCond %{REQUEST_URI} !emails/* 
RewriteCond %{REQUEST_URI} !icons/* 
RewriteCond %{REQUEST_URI} !src-svg/* 
RewriteCond %{REQUEST_URI} !svg/* 
RewriteCond %{REQUEST_URI} !css/* 
RewriteCond %{REQUEST_URI} !tmpl/* 
RewriteCond %{REQUEST_URI} !js/* 
RewriteCond %{REQUEST_URI} !img/* 
RewriteCond %{REQUEST_URI} !crawl/* 
RewriteCond %{REQUEST_URI} !config/* 
RewriteRule ^(.+)$ /index.php/$1 [L] 

我試圖消除最後[L],並添加這些線路的不同變化,或在一個寫規則單線,但無濟於事。

RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

因此,關鍵是添加WWW,靜靜的瀏覽器指向到index.php文件(這表示使用按壓狀態下我的單頁的應用程序)。第一個代碼塊中列出的目錄名稱應該從index.php規則中排除,並且可能不會收到WWW。

感謝您的任何意見!

編輯

我現在下面,這似乎工作至今。看起來有些旗幟是錯誤的。這是一種有效的方法嗎?

RewriteEngine On 
RewriteCond %{REQUEST_URI} !emails/* 
RewriteCond %{REQUEST_URI} !icons/* 
RewriteCond %{REQUEST_URI} !src-svg/* 
RewriteCond %{REQUEST_URI} !svg/* 
RewriteCond %{REQUEST_URI} !css/* 
RewriteCond %{REQUEST_URI} !tmpl/* 
RewriteCond %{REQUEST_URI} !js/* 
RewriteCond %{REQUEST_URI} !img/* 
RewriteCond %{REQUEST_URI} !crawl/* 
RewriteCond %{REQUEST_URI} !config/* 
RewriteRule ^(.+)$ /index.php/$1 
RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} 

回答

0

我下面的作品現在

RewriteEngine On 
RewriteCond %{REQUEST_URI} !emails/* 
RewriteCond %{REQUEST_URI} !icons/* 
RewriteCond %{REQUEST_URI} !src-svg/* 
RewriteCond %{REQUEST_URI} !svg/* 
RewriteCond %{REQUEST_URI} !css/* 
RewriteCond %{REQUEST_URI} !tmpl/* 
RewriteCond %{REQUEST_URI} !js/* 
RewriteCond %{REQUEST_URI} !img/* 
RewriteCond %{REQUEST_URI} !crawl/* 
RewriteCond %{REQUEST_URI} !config/* 
RewriteRule ^(.+)$ /index.php/$1 
RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI}