0

我已经读过,与在 .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">

谢谢。

4

1 回答 1

0

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

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

于 2013-02-17T05:19:21.213 回答