我刚刚将一个concrete5项目复制到我的本地框中,并试图让它在localhost上运行。我在开始时遇到了权限问题所以我只是运行sudo chmod 777 -R site
来解决这个问题。然后我点击链接时出现问题。除了index.php
之外的任何东西都会产生404.所以我搞砸了htaccess文件。它来自这个州:
# Use PHP53 as default
AddHandler application/x-httpd-php53 .php
<IfModule mod_suphp.c>
suPHP_ConfigPath /opt/php53/lib
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
我把它改成了这个:
# Use PHP53 as default
AddHandler application/x-httpd-php53 .php
<IfModule mod_suphp.c>
suPHP_ConfigPath /opt/php53/lib
</IfModule>
<Directory>
AllowOverride All
</Directory>
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
现在,这一切都没有帮助。我决定只禁用数据库中的漂亮URL。我做到了,大多数链接都有效。看起来有些人还没有(可能是那些参与包裹的人。我不知道,因为我正在接受这个项目,有人离开了它)。请记住,这次使用我显示的第一个.htaccess文件,所有这些都在现场服务器上完美运行。
有关如何解决这个问题的想法吗?
答案 0 :(得分:1)
听起来好像您遇到了漂亮网址的问题。禁用它后仍然无法正常工作的可能是像块一样的缓存项。如果您清除缓存,您的网站可能会在没有启用漂亮网址的情况下运行。
至于为什么Pretty URL不起作用,我首先要确保启用了mod_rewrite。然后你可以尝试其中几个用于重写规则。
RewriteRule ^(.*)$ index.php [L]
RewriteRule .* index.php [L]
答案 1 :(得分:1)
注意:您可以使用管理员登录中的脚本更新&#34;漂亮的网址&#34;。如果您在网站上将.htaccess用于其他目的,则需要注意的一点。
答案 2 :(得分:1)
尝试完全删除htaccess。而不是删除它,重命名它。然后直接进入/ index / dashboard /进入仪表板,禁用漂亮的URL,禁用和清除缓存,以及清除浏览器缓存。
(通常,在克隆网站之前,始终禁用漂亮的网址并禁用并清除缓存。)
一旦所有内容都工作没有漂亮的网址,您就可以开始重新启用了。
答案 3 :(得分:1)
在我的家用机器(linux / apache)上尝试使用concrete5时,我只是碰到了这个。
在我的情况下,问题似乎是因为我在文档根目录下安装了concrete2两个目录级别(/ var / www / html)。最初,我刚刚根据启用漂亮网址时给出的值创建了.htaccess文件,然后点击未找到的&#34;页面#34;问题(甚至无法登录。)最后,便士掉线了:我编辑了.htaccess并更改了RewriteRule以指向concrete5 index.php相对于/ var / www / html的实际位置。
所以在我的情况下,concrete5被安装到/ var / www / html / playpen / public_html中 - 所以新的RewriteRule读取:
RewriteRule。围栏/的public_html / index.php的
这似乎有用。
希望它有所帮助...