【问题标题】:Remove Index.php from Magento URL in .htaccess从 .htaccess 中的 Magento URL 中删除 Index.php
【发布时间】:2013-05-15 08:04:06
【问题描述】:

我最近设置了一个 magento 商店,网址是 mydomain.com/index.php/admin 或 mydomain.com/index.php/about-us。我想删除 index.php 并在 Google 上搜索了有关如何操作的方法,我发现这段代码应该可以工作,但它没有:

<IfModule mod_rewrite.c>

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

    Options +FollowSymLinks
    RewriteEngine on

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

    RewriteBase /

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

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

############################################
## 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>

谢谢。

【问题讨论】:

    标签: .htaccess magento


    【解决方案1】:

    转到 Magento 后端

    导航到System > Configuration,然后在左侧边栏中导航到Web

    现在选择Use Web Server RewritesYes

    清除缓存。

    完成

    【讨论】:

      【解决方案2】:

      看起来您给 Magento 根文件夹的相对路径错误:

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

      【讨论】:

        【解决方案3】:

        你真的应该使用第二种方法,让 Magento 强制重写规则。它是最干净的方式。它会这样做,在所有情况下从 url 中删除 index.php。

        【讨论】:

        • 尝试备份该文件(php.ini 对吗?),然后删除所有重写规则。然后尝试从 Magento 后端启用它,或者将 php.ini 替换为原始 php.ini 文件以进行默认的 magento 安装。
        【解决方案4】:

        您必须确保首先,在 Apache 中,(如果您正在使用)启用 Mod Rewrites ...然后您可以将以下内容添加到您的 @987654322 @ 文件。

        启用Mod Rewrites

        sudo a2enmod
        

        从 SSH 命令行(或与您的主机交谈)

        .htaccess:

        RewriteEngine on
        RewriteRule .* index.php [L]
        

        【讨论】:

        • 所以您是说我上面发布的代码已经用于删除 index.php 网址?我启用了 mod_rewrite。
        • 这就是我的意思.. 是的 --> 你也在使用RewriteEngine on 吗?这是必需的。
        • .htaccess 文件是否在“根”目录中? (与 Magento app 位于同一目录中)??如果是这样.. 您可以删除此行:RewriteBase /。也就是说,假设您有 /var/www .htaccess 所在的位置,而 Magento 位于 /var/www/magento 中。如果不是这种情况,则删除该行。如果是这种情况,那么您需要编辑该行,它应该看起来像 RewriteBase /magento
        猜你喜欢
        • 1970-01-01
        • 2011-05-20
        • 2017-03-15
        • 1970-01-01
        • 2015-07-26
        • 2012-01-17
        • 2021-10-02
        • 2015-01-20
        相关资源
        最近更新 更多