2012-04-09 4 views
0

У меня есть смотрите модуль друга, что дает людям длинный URL переходаMagento Apache Mod Rewrite URL

Я хочу, чтобы сократить его, чтобы сделать его проще для людей, чтобы напечатать, но могу понять, как сделать это в .htaccess

Ниже приводится раздел переписывает мой .htaccess

Я хочу, чтобы перенаправить

/ара/* к/awardpoints/индекс/goReferral/ссылающийся/ ( ** это идентификатор клиентов)

Я пробовал:

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? Корневой каталог вашего домена или что-то еще? –

ответ

0

вы можете использовать Magento внутреннего управления URL Rewrite для достижения этой цели, или вы можете попробовать это

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

следующее (модифицирован для ваших URL-адресов) копировать & пасты от http://www.workingwith.me.uk/articles/scripting/mod_rewrite

^ap/Видит, запрашивается ли запрашиваемая страница со страницы /. Если это не так, это правило будет проигнорировано.

([^ /.] +) Здесь прилагаемые скобки означают, что все, что соответствует , будет запомнено RewriteRule. В скобках он говорит: «Мне нужен один или несколько символов, которые не являются косой чертой или периодом ». Все, что здесь найдено, будет захвачено, и вспомнил.

/? $ Уверен, что единственное, что найдено после того, что было только , соответствует возможной косой чертой, и больше ничего. Если что-то найдено , то этот RewriteRule будет проигнорирован.

/awardpoints/index/goReferral/referrer/Фактическая страница, которая будет загружена Apache. $ 1 волшебным образом заменен текстом, который был записан ранее.

[L] Сообщает, что Apache не обрабатывает больше RewriteRules, если этот успешный.

+0

Просто я не могу работать, я продолжаю получать 404, вы говорите, что это можно сделать с помощью перезаписи magento? Возможно, без необходимости делать каждый сам? –

+0

мне удалось получить его работу с: RewriteRule^ар /([^/\.]+)$ http://www.mydomain.com/awardpoints/index/goReferral/referrer/$1 [L] Но все css/js не загружаются –