我正在尝试使用无效的.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`
答案 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="/" />
解决所有相关资源链接。