繁体   English   中英

我们可以使用httpd.conf代替.htaccess以获得干净的URL吗?

[英]Can we use httpd.conf instead of .htaccess for clean URL?

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

谢谢。

Apache手册有关.htaccess所述 ,可以将任何可以放在.htaccess文件中的内容放在httpd.conf<Directory>块中,以提高效率。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM