我正在尝试制作漂亮的网址,但想将内容标题放在 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多项选择页面。 好吧,我认为这是一个HTTaccess问题,但我是HTTaccess的新手,需要帮助来解决这个问题。
想要这个:
/content/stack-over-flow
您的正则表达式只允许字母。它还应该允许连字符、数字、大写字母和下划线。试试这个:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)/([^/]+)/?$ content.php?action=$1&title=$2 [NC,L,QSA]