.htaccess隐藏地址的问号

时间:2012-08-08 04:48:14

标签: apache .htaccess mod-rewrite

我做错了什么? 我有一个链接:

<a href="norma/something1/something2/something3/">Link Name</a>

我需要从以下地址发地址: eshop.mydomain.com/norma/something1/something2/something3/ 这个地址:
eshop.mydomain.com/norma-something1-something2-something3.html

我能做的唯一事情是 eshop.mydomain.com/?norma-something1-something2-something3.html

我需要隐藏问号,但我不知道如何:(

这是我的.htaccess

#php_value memory_limit 256M 
RewriteEngine On
RewriteBase /
RewriteRule /index.php / [R=301]

RewriteRule ^norma/([^/]+)/([^/]+)/([\d\.]+)$ %{DOCUMENT_ROOT}/index.php?$1-$2&-$3.html [L,QSA]

ErrorDocument 404 /doc/e404/

1 个答案:

答案 0 :(得分:0)

您在重写规则中添加了该问号:

# right here -----------------------------------------------------------v
RewriteRule ^norma/([^/]+)/([^/]+)/([\d\.]+)$ %{DOCUMENT_ROOT}/index.php?$1-$2&-$3.html [L,QSA]

但是我怀疑这可能是导致这种重定向发生的一些事情,因为它确实应该在服务器端内部重写。尝试将规则更改为:

RewriteEngine On
RewriteBase /

# this L is important ------------v
RewriteRule ^/?index.php / [R=301,L]

RewriteRule ^norma/([^/]+)/([^/]+)/([\d\.]+)$ /index.php?$1-$2&-$3.html [L,QSA]