比主页没有的index.php不工作等Magento的网址(Magento URLs other t

2019-06-26 15:02发布

我的Magento是在/ var / WWW / Magento的安装Ubuntu Linux操作系统。 这个问题看起来有些在档案的问题,但实际上可以有所不同。 当我在Ubuntu Linux上安装的Magento我启用的Apache mod_rewrite的URL重写。

当我去到http://本地主机/ Magento的我的服务器重写URL为http://本地主机/ Magento的/并显示页面。 然后我点击导航栏中的链接之一,让我们说这是导航栏项“富”。 然后Magento的带我到:

HTTP://本地主机/ Magento的/ foo.html

其显示“未找到”的Apache网页。

我必须要改变的URL ----->

HTTP://本地主机/ Magento的/ index.php文件/ foo.html

为了显示页面。

这是因为,虽然事情是在我的mod_rewrite运作不对劲。

谢谢,

约翰Goche的

配置:系统 - >配置 - >(常规 - >)网址:

使用服务器网址重写:YES

基本的URL:http://本地主机/ Magento的

如果设置了“用户的Web服务器改写:”为NO,然后从我的主网页做工精细的联系,但看到页面http://本地主机/ Magento的/ index.php文件/ foo.html这显示正确的页面,但而该网站的工作,我不喜欢的网址。 我想这是http:没有的index.php位//本地主机/ Magento的/ foo.html,因为这也可能会更加SEO友好。

谢谢,

约翰Goche的


更新:我试着取消注释在Ubuntu中已经把在/ etc / hosts中我人工127.0.1.1的IP地址,并把我的疗法的真实IP,但没有运气。 我仍然有完全相同的问题。 而我的浏览器中的URL重写为http://本地主机的/ etc ... whenver I型192.168.3.31,雪崩,或avalanche.com里面。 我仍然试图找出如何解决上面的,因为这并没有这样做所描述的问题。

127.0.0.1       localhost
#127.0.1.1      avalanche

192.168.4.35    avalanche avalanche.com

当我重新启动Apache,我得到:

# service apache2 restart
 * Restarting web server apache2                                                apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.4.35 for ServerName
 ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.4.35 for ServerName

不知道如何解决原来的问题。 我测试在本地服务器上。


我甚至试过这种解决方案,然后重新启动的Apache2,但没有运气!

如何从网址中删除的index.php?

因此,将:

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

不工作,甚至RewriteBase /,这是行不通的。


OK,最后我设法解决probkem。 文件/ etc / apache2的/ / 000默认有以下指令,此文件中定义的所有目录设置启用的站点 - :

 AllowOverride None

例如,对于在/ var / WWW这是默认的文档根在Ubuntu 12.04设置LTS Linux系统该文件包含

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

其中,据我理解是指该目录及其所有子目录中找到.htaccess文件将不被解析。 要修复它是足够的设置问题:

AllowOverride All

这意味着你将能够覆盖/etc/apache2/apache2.conf中找到的服务器配置指令(或/etc/apache2/httpd.conf其被包括在其中)。

其中一个是的AllowOverride默认设置为无可能,这导致服务器速度变慢,另一种是出于安全考虑的原因。 此指令应在标签中进行设置,而后者的人可以覆盖前者。 这不是默认设置的另一个原因是,每次都在一个目录路径的文件加载可能会减慢系统递归解析的.htaccess整个站点,因此放置的.htaccess东西在/etc/apache2/httpd.conf当可能是值得推荐的,因为它可以导致速度的提高。

所以地方

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            #AllowOverride None
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

里面的/ etc / apache2的/网站启用/ 000-默认

并运行:服务重新启动的Apache2

是解决方案。

Answer 1:

你试过了吗:

RewriteBase /magento/

而不是RewriteBase / mymagento /因为你的网址是http://本地主机/ Magento的/

请问您的Apache虚拟主机允许覆盖的配置,如

<VirtualHost *:80>
...
<Directory /var/www/magento/>
    AllowOverride All
</Directory>
</VirtualHost>


Answer 2:

你有适当的.htaccess文件在你的Magento根? 此外,您可能会遇到的问题与localhost 。 它建议使用127.0.0.1或开发域主机文件映射。



Answer 3:

在Magento的配置(通过系统>配置Magento管理面板中访问),那里是确定什么最终的搜索引擎友好的URL看起来像一些相关的设置。

Web > Search Engine Optimization > Use Web Server Rewrites

应该始终被打开的设置。 如果没有“/index.php/”将被添加到URL这是不必要的,长相丑陋。 要启用这个选项,你还需要在您的托管环境中启用Apache的mod_rewrite的

Catalog > Search Engine Optimizations > Product URL Suffix

这里的默认值是名“.html”将被附加到每个产品的URL。 一些搜索引擎优化专家声称这是需要更好的评价,其他的搜索引擎优化出口说不是。 对于我们与Joomla MageBridge整合! 此设置必须为空。

Catalog > Search Engine Optimizations > Category URL Suffix

与上面相同,但现在的类别。

Catalog > Search Engine Optimizations > Use categories path for product URLs

启用该选项后,该产品网址还将包括类URL键。 虽然我们可以认为这会导致重复的内容,产品页面也可以从中受益,因为他们成为一个更大的结构的一部分。

Catalog > Search Engine Optimizations > Use Canonical Link Meta Tag For Products

如果你实在担心重复的内容(这是不是那么糟糕,因为有些人会告诉你),那么你可以启用规范的标签,告诉搜索引擎哪些页面已检测一次领先的重复内容。

Catalog > Search Engine Optimizations > Use Canonical Link Meta Tag For Categories

与上述相同,但是对于类别。

对此事进一步阅读http://www.yireo.com/tutorials/magento/magento-administration/664-fixing-url-rewrites-with-magento



Answer 4:

对于WAMP启用的Apache重写模块为我工作。



Answer 5:

Go to admin url of your site. 
Suppose,http://example.com/index.php/admin/

Go to 'System' menu from navigation and click on 'Configuration'.
Under the 'General' tab in the left, click on 'Web'.
Open the 'Search Engines Optimization' section by clicking on it.
Then set 'Use Web Server Rewrites' value to 'No'


Answer 6:

转移我的活动站点到本地主机时,我有同样的问题。 最后我解决它。

我有Windows操作系统。 所以我用WAMP堆栈我的本地主机。 我花了很多时间来检索所有的网址,并通过更改.htaccess文件,修改core_config_data表DB,但一切都错了它在我的本地内容。

最后我得到一个线索,以使在Apache服务器rewrite_module。 1.要使它能够在托盘栏中(WAMP-> Apache->阿帕奇模块 - >并选择rewrite_module)点击WAMP图标。 2.重新启动WAMP服务器。 3.清除缓存(可选我认为) - 删除在var /缓存文件夹中的所有文件

请确保您有.htaccess文件在你的根文件夹让我们假设(本地主机/ Magento的/的.htaccess)。 如果你没有,你不会得到结果。

而已。

我希望现在ü将能够检索所有其他页面和URL家庭以外,也ü不会得到404错误页面。



Answer 7:

这是一个mod_rewrite的问题。 我运行Ubuntu和Apache和Magento的的设置为一个存储迁移过程中有同样的问题。

更改/etc/apache2/sites-available/000-default.conf遏制

<VirtualHost ...>
...
<Directory /var/www>
    Options Indexes FollowSymLinks MultiViews   
    AllowOverride All
    Order allow,deny
    allow from all 
</Directory>

</VirtualHost>

因此允许重写 var/www上的网络服务器。

为了使Apache进程从magentos重写规则。 htaccess文件(S),
使经由重写模块

sudo a2enmod rewrite

重新启动Apache的

sudo /etc/init.d/apache2 force-reload 
//(not service apache2 restart)

解决整个问题对我来说。

见http://wiki.ubuntuusers.de/Apache/mod_rewrite和
http://wiki.ubuntuusers.de/Apache有关如何设置的东西,以正确的方式进行彻底的解释。



文章来源: Magento URLs other than home page do not work without index.php