.htaccess无法在xampp和Ubuntu下运行

时间:2013-11-27 17:46:48

标签: .htaccess xampp

我正在尝试使用无效的.htaccess重写网址。我在Ubuntu Linux机器上安装了xampp。这是我的.htaccess文件:

    Options +FollowSymLinks

    #From: host/1/products/productname/30/
    #To: host/1/index.php?product=productname&price=30
    RewriteEngine On
    RewriteRule ^1/products/([a-zA-Z]+)/([0-9]+)/$ 1/index.php?product=$1&price=$2

代码中的注释行显示了我想要做的事情。我知道.htaccess正被读取,因为如果我取消注释上面的“From”行,它会抛出500服务器错误。否则,我得到404 Object not found错误。我在httpd.conf中设置了AllowOverride All并重新启动了apache。 error_log未报告错误。

有什么想法吗?

截至12月2日下午2:05,这是我的.htaccess

Options +FollowSymLinks

#From: host/1/products/productname/30/
#To: host/1/index.php?product=productname&price=30
RewriteEngine On
RewriteRule ^1/products/([a-zA-Z]+)/([0-9]+)/$ 1/index.php?product=$1&price=$2
RewriteRule ^foo$ /bar`

1 个答案:

答案 0 :(得分:0)

DOCUMENT_ROOT/.htaccess文件中使用此规则:

RewriteEngine On

RewriteRule ^1/products/([^/]+)/([^/]+)/?$ /1/index.php?product=$1&price=$2 [L,QSA,NC] 

对于css / js / images:在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。

或者您可以尝试在页面标题中添加:

<base href="/" />

解决所有相关资源链接。