2013-01-02 136 views
0

我有問題搞清楚如何使用國防部重寫的域名。我認爲它與域擴展有關,但不確定。Apache mod_rewrite域名

Input: domain.com/google.com 
Callback: domain.com/index.php?website=google.com 

RewriteRule ^(.*)/$ index.php?website=$1 
+0

我很困惑,如何這是題外話,當它寫htaccess文件和PHP代碼? – sMyles

回答

2

(.*)將匹配任何,因此它並不真正的問題,你試圖匹配域名。相反,問題看起來是存在於輸入中的尾部斜槓/,即而不是。只要刪除它並使用^(.*)$。還建議添加[L]標誌。

RewriteEngine On 
# Avoid rewrite loops on real files like index.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?website=$1 [L] 

如果您需要選擇包括尾隨斜線,以?它添加輸入字符串的結束之前匹配0或者1 /

RewriteRule ^(.*)/?$ index.php?website=$1 [L] 
+0

太棒了,謝謝! – sMyles