2016-02-04 76 views
2

我有幾個域名,並且最近更新了我的網站從單個文件(index.php)運行。請求URI與沒有.php相同。我的主機是GoDaddy Linux無限(是啊...)。.htccess 301域名重定向,https,www和文件擴展

我要求我的.htaccess重定向/重寫以下

  • 重定向到domain1.com www.primary.com
  • 重定向到www.domain1.com www.primary.com
  • 重定向domain2.com到www.primary.com
  • 重定向到www.domain2.com www.primary.com
  • 力https://開頭
  • 力WWW。
  • 從任何請求刪除.PHP(/marketing/cost.php到/營銷/成本)
  • 刪除尾隨斜線

進出口目前使用以下代碼來傳遞所有請求到index.php

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

index.php文件處理所有請求。基於($ _SERVER ['REQUEST_URI']) index.php從數據庫加載內容。

我知道建議使用尾部斜槓,但寧願保持關閉;我認爲domain.com/sec/nom?x=23看起來比domain.com/sec/nom/?x=23


我嘗試在.htaccess我自己有一些變化,並在本地工作,但不在GoDaddy上。

回答

0

有這樣的:

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} !^www\.primary\.com$ [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteRule^https://www.primary.com%{REQUEST_URI} [L,NE,R=302] 

RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC] 
RewriteRule^/%1 [R=302,L] 

## Unless directory, remove trailing slash 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+?)/$ /$1 [NE,R=302,L] 

RewriteRule ^index\.php$ - [L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L] 
+0

感謝,除了斜線所有作品,但是固定通過添加: RedirectMatch 301 ^/$ $ 1 – CProetti

+1

是的,完美的作品(+)。謝謝 – CProetti

相關問題