2012-04-09 85 views
0

我有一個推薦朋友模塊,讓人們長的推薦網址Magento的Apache的現代重寫URL

我想縮短它使人們更容易輸入,但是能弄清楚如何得到它完成的.htaccess

下面是我的.htaccess的重寫部分

我想重定向

/AP/*到/ awardpoints /索引/ goReferral /被推薦人/ **是用戶ID)

我想:

RewriteRule ^ap/([0-9]+)$ /awardpoints/index/goReferral/referrer/$1 [R] 

,但它不工作

<IfModule mod_rewrite.c> 

############################################ 
## enable rewrites 

Options +FollowSymLinks 
RewriteEngine on 

############################################ 
## you can put here your magento root folder 
## path relative to web root 

#RewriteBase /magento/ 

############################################ 
## workaround for HTTP authorization 
## in CGI environment 

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 

############################################ 
## TRACE and TRACK HTTP methods disabled to prevent XSS attacks 

RewriteCond %{REQUEST_METHOD} ^TRAC[EK] 
RewriteRule .* - [L,R=405] 


############################################ 
## always send 404 on missing files in these folders 

RewriteCond %{REQUEST_URI} !^/(media|skin|js)/ 

############################################ 
## never rewrite for existing files, directories and links 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 


############################################ 
## rewrite everything else to index.php 

RewriteRule .* index.php [L] 

</IfModule> 
+0

什麼是您的RewriteBase?你的域的根目錄或其他東西? – 2012-04-09 08:15:04

回答

0

可以使用Magento的內部URL重寫管理來實現,或者你可以嘗試此

RewriteRule ^ap/([^/\.]+)/?$ /awardpoints/index/goReferral/referrer/$1 [L] 
RewriteRule .* index.php [L] 

以下是(修改爲您的網址)複製&粘貼從http://www.workingwith.me.uk/articles/scripting/mod_rewrite

^ap /查看請求的頁面是否以page /開頭。如果沒有, 這個規則將被忽略。

([^ /。] +)這裏,括號表示任何與 匹配的東西都會被RewriteRule記住。在括號內, 表示「我想要一個或多個不是正斜槓的字符或 時間段」。無論在這裏發現什麼都會被捕獲,並且記住 。

/?$確保只匹配 匹配的唯一東西是可能的正斜槓,沒有別的。如果有其他東西被發現,那麼這個RewriteRule將被忽略。

/awardspoints/index/goReferral/referrer /將由Apache加載的實際頁面。 $ 1 魔法般地替換了之前拍攝的文字。

[L]告訴Apache不要處理任何更多的RewriteRules,如果這一個是 成功。

+0

只是不能它開始工作,我不斷得到一個404,你說這是可能通過magento的重寫嗎?可能無需自己做每一個? – 2012-04-11 02:28:10

+0

我設法得到它的工作: 重寫規則^ AP /([^/\.]+)$ http://www.mydomain.com/awardpoints/index/goReferral/referrer/$1 [L] 但所有的CSS/JS無法加載 – 2012-04-11 05:17:20