我下载了一个名为Pico的轻量级PHP CMS解决方案,并将这些文件放在我的MAMP安装中。当我访问默认主页时,一切似乎都有效,但点击指向“子页面”(http://localhost:8888/pico/subdir/
)的链接后,我将进入通用404页面。由于子页面位于/content/
文件夹中,我是否需要调整我的MAMP安装的.htaccess? Apache设置?
如果有人熟悉Pico,我想知道我是否错过了重要的安装步骤。
如果您有任何问题,请随时提出。
由于
答案 0 :(得分:2)
我通过更改Apache的站点配置中的AllowOverride设置来修复此问题,以包含mod_rewrite指令http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride
您还需要启用“重写”模块:
slady@slady ~ $ sudo a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
service apache2 restart
slady@slady ~ $ sudo service apache2 restart
[ ok ] Restarting web server: apache2 ... waiting ..
答案 1 :(得分:1)
我找到了解决自己问题的方法。 .htaccess
文件的内容应为this(来自官方Pico github)。我不确定为什么这个.htaccess
文件不包含在Pico下载包中...
答案 2 :(得分:0)
我最近下载了Pico并且遇到了和你一样的问题,但是包含了htaccess文件,但所有内容都被注释掉了。当我取消注释所有内容,但是想要的意见时,请注意,我仍然得到了我的apache 404.
我的解决方案是在htaccess文件的底部添加:Options +FollowSymLinks
。
答案 3 :(得分:0)
您可能需要将RewriteBase添加到.htaccess
无论如何,我将pico作为子目录运行,这可能是它导致问题的原因。我希望有人可以更好地解释它,但这似乎对我有用。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /your_site_dir/pico/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
# Prevent file browsing
Options -Indexes
答案 4 :(得分:0)
这已经得到了回答所以请原谅我,如果我拿出明显的,但要确保WAMPserver Apache&#39; rewrite_module&#39;已打开(默认情况下已关闭)或PICO重写功能完全没有。