网址长度从htaccess减少

时间:2018-01-13 14:02:57

标签: .htaccess

这就是我要做的事情:

如果用户搜索

https://englishact.com/Quotation/Every+man+must+do+two+things+alone.html

htaccess将显示(仅五个字符)

https://englishact.com/Quotations/allquot.php?quotation=Every

我在htaccess尝试但没有工作:

RewriteRule    ^Quotation/([.]{5})(.*)\.html$    Quotations/allquot.php?quotation=$1    [NC,L]    # Handle product requests

如果您可以在上面的代码中进行编辑,将会很有帮助。

2 个答案:

答案 0 :(得分:1)

要仅捕获Quotation/之后和+符号之前的前五个字母,您可以尝试这样做:

RewriteCond %{REQUEST_URI} ^/?quotation/([a-z0-9.]{5}).*\.html$ [NC]
RewriteRule ^(.*)$ /quotations/allquot.php?quotation=%1 [NC,L]

如果它们是a-z之间的字符(由于NC标志不区分大小写),数字0-9或句点,它将接受查询字符串的前五个字符。

答案 1 :(得分:1)

您的RegEx中存在问题。如果[.]中的任何字符包含在.中,.将完全匹配[]

请尝试以下规则。它应该工作。

RewriteRule    ^Quotation/(.{5})(.*)\.html$    Quotations/allquot.php?quotation=$1    [NC,L]    # Handle product requests