.htaccess url 中漂亮的 URL 标题
.htaccess Pretty URLs title in url
我正在尝试制作漂亮的 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=&id= [NC,L,QSA]
然后我改成:
RewriteRule ^([a-z]+)/([a-z]+)/?$ content.php?action=&title= [NC,L,QSA]
但它不起作用,我将返回 300 多项选择 页面。好吧,我认为这是一个 httaccess 问题,但我是 htaccess 的新手,需要帮助来解决这个问题。
想要这个:
/content/stack-over-flow
您的正则表达式只允许字母。它还应允许连字符、数字、大写字母和下划线。试试这个:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)/([^/]+)/?$ content.php?action=&title= [NC,L,QSA]
我正在尝试制作漂亮的 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=&id= [NC,L,QSA]
然后我改成:
RewriteRule ^([a-z]+)/([a-z]+)/?$ content.php?action=&title= [NC,L,QSA]
但它不起作用,我将返回 300 多项选择 页面。好吧,我认为这是一个 httaccess 问题,但我是 htaccess 的新手,需要帮助来解决这个问题。
想要这个:
/content/stack-over-flow
您的正则表达式只允许字母。它还应允许连字符、数字、大写字母和下划线。试试这个:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)/([^/]+)/?$ content.php?action=&title= [NC,L,QSA]