如何从URL中删除index.php?

我的Magento安装的所有url都需要index.php,例如:

http://example.com/index.php/admin/ http://example.com/index.php/customer/account/login/ 

问题是系统默认链接到URLs之类的

 http://example.com/admin/ http://example.com/customer/account/login/ 

无论如何,看起来更漂亮。 我认为这是一个在.htaccess中的重写问题,但正如过去的修补已经给了我500秒,我想先问你们。

改变search引擎优化设置,刷新configurationcaching,并重新索引的URL没有按照这里build议的工作。

这可能是旧的,但我不妨写下我学到的东西。 所以无论如何,我是这样做的。

———->

在开始之前,请确保已启用Apache重写模块,然后执行以下步骤。

1)login到您的Magentopipe理区域,然后进入系统>configuration>网页

2)导航到不安全安全选项卡。 确保UnsecuredSecureBase Url选项中包含您的域名,并且不要在URL末尾保留正斜杠。 例如: http : //www.yourdomain.co.uk/

3)仍然在网页上,导航到search引擎优化选项卡,并在使用Web服务器重写选项下面select

4)再次导航到“ 安全”选项卡(如果尚未安装),并在“ 使用前端使用安全URL”选项中select“是”。

5)现在转到您的Magento网站文件夹的根目录,并使用以下代码.htaccess:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 

保存.htaccess并replace原始文件。 (请确保备份您的原始.htaccess文件之前,与它的启示!!!)

6)现在进入系统>cachingpipe理,并select所有字段,并确保操作下拉菜单设置刷新 ,然后提交。 (这当然会刷新caching。)

———->

如果这不起作用,请按照这些额外的步骤。

7)再次进入系统>configuration> web 。 这次查找当前configuration范围并从下拉菜单中select您的网站。 (这当然是设置为Default Config)

8)确保不安全安全字段包含与以前的默认configuration文件相同的域。

9)导航到“ search引擎优化”选项卡,然后在“ 使用Web服务器重写”部分下select“ ”。

10)一旦URL相同,并且重新启用保存该页面,然后返回并确保它们都被选中为默认值,然后根据需要再次保存。

11)重复步骤6。

现在你的index.php问题应该是固定的,一切都应该是好的!

我希望这有助于,祝你好运。

按照下面的步骤,它会帮助你。

第1步:转到您的站点根文件夹,您可以在那里find.htaccess文件。 用文本编辑器打开它,find#RewriteBase /magento/ 。 只需用#RewriteBase /replace它就可以取出“magento /”

第2步:然后去你的pipe理面板,并启用重写(设置为使用Web服务器重写)。 你可以在系统 – >configuration – > Web – >search引擎优化中find它。

第3步:然后进入cachingpipe理页面(系统cachingpipe理),刷新caching并刷新以检查网站。

你必须在Apache中启用mod_rewrite来使干净的URL工作

如果mod_rewrite不在phpinfo中,你必须安装它

 sudo a2enmod rewrite sudo apache2ctl -l 

您需要将AllowOverride nonereplace为AllowOverride all (在/ etc / apache2 / sites-enabled / 000-default中)

重新启动Apache

 sudo service apache2 restart 

在Magento的pipe理员去到System > Configuration > Web > search engine Optimization和改变“ Use Web Server Rewrites ”为是

如何在你的.htaccess中:

 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] 

嗨,我迟到了..只是想指出, http://davidtsadler.com/archives/2012/06/03/how-to-install-magento-on-ubuntu/的指示是非常有用的。;

我有Ubuntu的服务器与Apache,MySql和Php安装,所以我想我可以跳到标题创buildMagento将从哪个服务目录 ,我达到了相同的问题,即OP,即我有'index.php'需要在所有的URL(或我会得到404没有find)。 然后我回到安装和configurationApache HTTP服务器,并重新启动Apache后,它完美的作品。

作为参考,我错过了:

 sudo bash -c "cat >> /etc/apache2/conf.d/servername.conf <<EOF ServerName localhost EOF" 

…和

 sudo a2enmod rewrite sudo service apache2 restart 

希望这可以帮助

我试了一下,但没有任何工作。 然后,我改变了ErJab提供的.htaccess代码片段:

 RewriteRule ^(.*)$ 'folder_name'/index.php/$1 [L] 

上面的线为我固定它。 其中* folder_name *是magento根文件夹。

希望这可以帮助!

如果其他解决scheme不适合您,请尝试以下操作:

第1步:(如果您的安装在webroot中)

更换

  #RewriteBase /magento/ 

  RewriteBase / 

第2步:

添加以下行(包括排除pipe理因为后端需要内部index.php)

 RewriteCond %{THE_REQUEST} ^.*/index.php RewriteRule ^(.*)index.php$ http://www.yourdomain.com/$1 [R=301,L] RewriteRule ^index.php/(admin|user)($|/) - [L] RewriteRule ^index.php/(.*) $1 [R=301,QSA,L] 

之后

 RewriteRule .* index.php [L] 

这对我有用

如果它仍然不能正常工作,请仔细检查Magentoconfiguration:系统 – >configuration – > Web – >search引擎优化。 重写必须启用。

主要是如果你使用基于Linux的系统就像'Ubuntu',这只是build议本地用户而不是服务器。

遵循之前答复中提到的所有步骤。 +

检查它的Apacheconfiguration。 (AllowOverride All)如果AllowOverride值为none,则将其更改为All,然后重新启动apache。

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

让我知道如果这一步帮助任何人。 如果您早点发现,它可以节省您的时间。

在这里输入图像描述

我从本地htaccess文件中添加确切的行。 供你参考

在110号线附近

 <IfModule mod_rewrite.c> ############################################ ## enable rewrites Options +FollowSymLinks RewriteEngine on ############################################ ## you can put here your magento root folder ## path relative to web root #RewriteBase / RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] 

图像是一些用户从图像中很容易理解的文本:

在这里输入图像描述