htaccess重写规则不适用于magento

时间:2013-02-08 09:10:47

标签: .htaccess mod-rewrite apache2

这是重写规则在.htaccess中不起作用:

RewriteCond %{REQUEST_URI} ^/magento/resultados-busqueda/ 
RewriteRule resultados-busqueda/(.*) /magento/index.php/catalogsearch/result/$1 [L,QSA,NC]

如果我添加[R]标志,它可以正常工作,但没有[R]不起作用。

请帮助!!

抱歉我的英文。

谢谢!

3 个答案:

答案 0 :(得分:5)

事实证明,新的Apache版本已经有所改变,如果您使用的是apache 2.4,我建议您更改etc/apache2/apache2.conf文件(您需要root权限),如下所示:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

然后重启apache。

sudo service apache2 restart

有效;)

答案 1 :(得分:1)

$DOCUMENT_ROOT/magento/.htaccess

中使用以下.htaccess代码段
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /magento

RewriteRule ^resultados-busqueda/([^/]+)/?$ /magento/index.php/catalogsearch/result/?q=$1 [QSA,P,NC]

答案 2 :(得分:0)

URI domain / magento / resultados-busqueda / pantalones并显示错误404。 这是我的.htaccess:

<IfModule mod_rewrite.c>

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteBase /magento

RewriteRule ^api/rest api.php?type=rest [QSA,L]

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

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

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^resultados-busqueda/(.*)$ /magento/index.php/catalogsearch/result/?q=$1 [L,NC]

RewriteRule .* index.php [L]