这是重写规则在.htaccess中不起作用:
RewriteCond %{REQUEST_URI} ^/magento/resultados-busqueda/
RewriteRule resultados-busqueda/(.*) /magento/index.php/catalogsearch/result/$1 [L,QSA,NC]
如果我添加[R]标志,它可以正常工作,但没有[R]不起作用。
请帮助!!
抱歉我的英文。
谢谢!
答案 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
:
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]