【问题标题】:.htaccess refuses to redirect URLs without file extensions - straight to 404.htaccess 拒绝重定向没有文件扩展名的 URL - 直接到 404
【发布时间】:2012-11-12 22:41:35
【问题描述】:

所以我一直在修补。 Apache 的 .htaccess 很好地重定向了我的 WWW 客户端(如果没有 WWW,301 到包含 WWW 的相同 URL),并且它正在重定向带有文件扩展名的东西(即 index.html 将重定向到 index.php) .只有没有扩展名的 URL。它拒绝破译它们。

我当前的文件:

RewriteEngine On
RewriteBase /

# Clean URL
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/?$ $1.php [NS,L,R=permanent]

# Force WWW
RewriteCond %{HTTP_HOST} !^www\.thevgc\.net$
RewriteRule ^(.*)/?$ http://www.thevgc.net/$1 [NS,L,R=permanent]

我整晚都在努力解决这个问题。 mod_rewrite 已启用,在实际制作文件之前,我必须创建指向 /etc/apache2/mods-enabled/rewrite.conf 的符号链接,该文件包含以下内容:

RewriteEngine On

对我的这个困境有什么想法?

【问题讨论】:

  • 您的 .htaccess 是否启用?尝试在顶部放置一些垃圾文本,看看它是否会在您的浏览器中生成 500 错误。
  • 我在HAHAHAH THIS SHOULD TOTALLY BREAK EVERYTHING 中乱写乱写,没有破坏任何东西。
  • 这意味着您的设置没有启用 .htaccess。请在您的httpd.conf 中启用 .htaccess。
  • 我正在运行 Ubuntu 12.10。据我所知,我没有,而是有apache2.conf。或者如果我这样做了,我当然不知道在哪里可以找到它。
  • 我目前没有Ubuntu,但是在/etc/httpd/conf.d/目录中查找。

标签: apache .htaccess mod-rewrite url-rewriting clean-urls


【解决方案1】:

所以!我找到了我的问题的答案。看起来如果您运行命令 a2dismod negotiation 它会神奇地开始工作,或者至少在我的情况下是这样。问题解决了,案件结案,线程完成。谜团已经解开。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    相关资源
    最近更新 更多