【问题标题】:Apache ignore htaccess阿帕奇忽略 htaccess
【发布时间】:2011-08-03 20:40:50
【问题描述】:

我有一个网站使用 mod_rewrite 来获取漂亮的 url。我有两个主要网址:

example.com/id
example.com/generate/id

还有这个 htaccess 文件:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^generate/([a-z0-9_-]+)$ generate.php?id=$1 [L,NC]
RewriteRule ^([a-z0-9_-]+)$ contact.php?id=$1 [L,NC]

第一个 url 工作正常,但第二个没有。 Apache显示404错误,我认为是因为它正在寻找“generate”文件夹,该文件夹不存在,并且在文档根目录中找不到htaccess。

谢谢

【问题讨论】:

  • .htaccess 中还有其他Options 指令吗?在任何情况下 - 将 Options +FollowSymLinks 更改为 Options +FollowSymLinks -MultiViews 并确保在该行之后没有 Options +MultiViews 或类似内容。现在再次尝试有问题​​的 URL。如果仍然没有 - 看看你是否可以启用重写调试(将 RewriteLogLevel 9 放入服务器配置/虚拟主机上下文中)并检查重写日志以获取确切的详细信息。
  • 谢谢,错误出现在 MultiViews 选项中,禁用它错误消失

标签: apache mod-rewrite


【解决方案1】:

你试过了吗

RewriteRule ^generate\/([a-z0-9_-]+)$ generate.php?id=$1 [L,NC]

【讨论】:

    猜你喜欢
    • 2011-02-25
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    相关资源
    最近更新 更多