1

我正在尝试制作漂亮的 url,但想将内容标题放在 url 中而不是 id 中,然后我将内容标题放在带有查询字符串的 url 中:

index.php?action=content&id=22

变成:

index.php?action=content&title=stack-over-flow

它工作正常。现在我试图让它漂亮,但在 htaccess 代码中遇到了问题。

在 url 代码中删除 id 之前是:

RewriteRule ^([a-z]+)/([0-9]+)/?$ index.php?action=$1&id=$2 [NC,L,QSA]

然后我改为:

RewriteRule ^([a-z]+)/([a-z]+)/?$ content.php?action=$1&title=$2 [NC,L,QSA]

但它不起作用,我将支持300 Multiple Choices页面。好吧,我认为这是一个 httaccess 问题,但我是 htaccess 的新手,需要帮助解决这个问题。

想要这个:

/内容/堆栈溢出

4

1 回答 1

1

您的正则表达式只允许字母。它还应该允许连字符、数字、大写字母和下划线。尝试这个:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)/([^/]+)/?$ content.php?action=$1&title=$2 [NC,L,QSA]
于 2015-03-13T13:41:28.377 回答