【问题标题】:Can we use httpd.conf instead of .htaccess for clean URL?我们可以使用 httpd.conf 而不是 .htaccess 作为干净的 URL 吗?
【发布时间】:2013-02-17 05:16:10
【问题描述】:

我已经读过,与在 .htaccess 中进行更改相比,httpd.conf 中的设置更改要好得多,因为后者是在运行时解析的,而 .conf 是在启动 Apache 时解析的。那么,是否有可能在 httpd.conf 中拥有所有 .htaccess 功能,或者仅在 .htaccess 中必须完成一些事情。

另外,您能否建议如何调试干净的 URL 问题?

基本上,我无法让干净的 URL 正常工作。我可以访问 show.php 文件,但无法访问 GET 变量。这是 .conf 设置。

RewriteEngine On
RewriteCond %{HTTP_HOST}   !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/show/([^/\.]+)/([^/\.]+)         http://www.example.com/show.php?id=$1&img=$2 [L,R]

我也加了

Options Indexes MultiViews FollowSymlinks
AllowOverride All

<Directory "/var/www/html">

谢谢。

【问题讨论】:

    标签: .htaccess apache httpd.conf clean-urls


    【解决方案1】:

    Apache manual on .htaccess 中所述,您可以放入.htaccess 文件中的任何内容都可以放入httpd.conf 内的<Directory> 块内,以提高效率。

    至于重写 URL 的问题,您的第一个 RewriteCond 似乎只匹配不是 www.example.com 的 URL(前面的 ! 是一个否定修饰符)。删除! 看看是否能解决问题。 (您可能也应该删除第二个RewriteCond,直到匹配到第一个;否则,调试问题会更加困难。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 2016-04-24
      • 2014-02-09
      • 1970-01-01
      • 2011-04-25
      相关资源
      最近更新 更多