0
我有一個域,其中除image \ css等之外的所有內容都由一個php文件處理。然而在重組之後,很多圖像已經從子域轉移到主域。所以我正在尋找一種方法來將所有image \ css文件重定向到主域,如果它們最初位於其中一個子域中的話。我當前的代碼是只使用htaccess將圖像的子域重寫爲圖像
RewriteEngine On
RewriteCond %{REQUEST_URI} !(\.png|\.jpg|\.gif|\.jpeg|\.ico|\.bmp|\.css|\.ts|\.js)$
RewriteRule !^index\.php$ /index.php [L]
我已經嘗試了幾種方法來重定向,但我似乎對現有的規則,無論我嘗試打破。
感謝
我想出了
RewriteEngine On
# Check the request isn't for the main domain
RewriteCond %{HTTP_HOST} !^domain\.com$
# Check the request is for a static resource
RewriteCond %{REQUEST_URI} \.(png|jpg|gif|jpeg|ico|bmp|css|ts|js)$
# Redirect to main domain
RewriteRule (.*) http://domain\.com/$1 [R=301,L]
# if the request isn't for index.php,
# (invisibly) redirect to index.php
RewriteCond %{REQUEST_URI} !(\.png|\.jpg|\.gif|\.jpeg|\.ico|\.bmp|\.css|\.ts|\.js)$
RewriteRule !^index\.php$ /index.php [L]
僅用於信息的最終解決方案。誠然,爲了答案,我只是根據自己的需要調整了它。
謝謝,這將工作,但我錯過了一個關鍵的細節(對不起我的錯)我已經安裝了Apache,以便它處理所有子域,就好像它們是主域。所以在短期內圖像仍然有效,但從長遠來看,我想重定向它們,以便搜索引擎等停止尋找子域。 – dragonfly
剛剛更新了我的答案以反映這一點。 – Jon
剛做完檢查,圖像沒有被重定向正確。我用正確的域名取代了domain.com的兩個引用,然後將其粘貼在我以前的代碼上面。 (所以頁面仍然會重定向到index.php),我也離開了第一個domain.com中的\不知道它是否是正則表達式的一部分。只是爲了澄清我想要jon.blog.com \ fred \ test.jpg重定向到blog.com \ fred \ test.jpg – dragonfly