2012-04-09 53 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