使用htaccess添加连字符以清除URL

时间:2016-06-03 11:50:37

标签: apache query-string clean-urls hyphen

我正在关注我的网站的单页方法,所有GET请求都构建如下: index.php?ressource = product& identifier = 5

为了获得干净的网址,我找到了一个创建了这个的生成器:

RewriteEngine On
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule . https://%{HTTP_HOST}/ [L] HTTPS_HOST ???

RewriteEngine On
RewriteRule ^([0-9a-zA-Z]+)/([0-9a-zA-Z]+)/([0-9a-zA-Z]+)$ ?ressource=$1&identifier=$2&action=$3 [L]
RewriteRule ^([0-9a-zA-Z]+)/([0-9a-zA-Z]+)$ ?ressource=$1&identifier=$2 [L]

#EOF

我添加了前三行,强制用户的客户端访问我的https网站。

现在我还希望在标识符值中包含连字符,例如文章/服务条款

我做了一些研究,我需要使用NC,QSA或两个标志,但每当我添加其中一个标志时,我都会收到服务器错误500.

1 个答案:

答案 0 :(得分:0)

好的,我找到了在清洁网址中添加连字符的解决方案:

RewriteEngine On
RewriteRule ^([a-z]+)/([0-9a-üA-Ü\-]+)/([a-z]+)$ ?ressource=$1&identifier=$2&kwargs=$3 [L]
RewriteRule ^([a-z]+)/([0-9a-üA-Ü\-\%\s]+)$ ?ressource=$1&identifier=$2 [L]
RewriteRule ^([a-z]+)$ ?ressource=$1 [L]

连字符必须添加到正则表达式