【问题标题】:Url masking through htaccess not working通过 htaccess 屏蔽 URL 不起作用
【发布时间】:2012-05-29 16:47:08
【问题描述】:

我正在尝试设置 Lithium Php 框架。我跟着documentation 开始。 我已经这样做了:*“确保 mod_rewrite 已启用,并且 AllowOverride 指令在所涉及的必要目录上设置为“全部”。请务必在检查之前重新启动服务器。“* 重写模块已启用。验证人

apache2ctl -M

我已更改 /etc/apache2/sites-available/default 文件中的 AllowOverride。 现在,当我转到 http://localhost/LithiumTestApp/ 时,页面加载但没有 css、js、图像等,因为链接不起作用。 我似乎找不到我做错了什么。

我在 Ubuntu 11.10 上运行 Apache2。

编辑:.htaccess 的内容是:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$   webroot/   [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>

锂框架本身的一部分。我这里没有改变任何东西。

【问题讨论】:

  • .htaccess 文件的内容是什么?某处正在重写某些东西...
  • 你是怎么设置的?你是从 repo 中克隆出来的吗?主框架仓库还是核心仓库?当您尝试直接浏览资产时会得到什么? Apache 错误还是其他原因?
  • 克隆了主框架。 git clone git://github.com/UnionOfRAD/framework.git my_app 我可以访问localhost/LithiumTestApp/app/webroot/css/debug.css 但链接localhost/lithblog/css/debug.css 不起作用。
  • 我不关注。如何从 localhost/LithiumTestApp/app 的安装路径中获取 localhost/lithblog/ 的预期路径?
  • 对不起! LithBlog 来自我正在摆弄的另一个测试应用程序。将其视为localhost/LithiumTestApp/css/debug.css

标签: apache .htaccess mod-rewrite lithium


【解决方案1】:

我建议首先检查您的重写是否正常工作。 我通常在我的 vhost 文件中设置一个重写日志路径(或者在你的 httpd.conf 或 apache2.conf 中设置它,无论你的操作系统使用哪个)。

RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 5

然后做:

tail -f /var/log/apache2/rewrite.log

这将允许您在日志内容发生时查看日志内容并刷新页面并查看一切是否正常。我还建议您查看您的 Apache 错误日志,看看请求中是否有错误。

另外,请确保您的资源文件夹具有写入权限。

【讨论】:

    猜你喜欢
    • 2019-04-02
    • 2014-03-09
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多