我正在尝试制作漂亮的网址,但是想要将内容标题放在网址而不是内容中,然后我将内容标题放在带有查询字符串的网址中:
?的index.php行动=内容和ID = 22
更改为:
?的index.php行动=含量&安培;标题=堆栈过流
它的工作正常。现在我试图使其漂亮,但在htaccess代码中遇到了问题。
在删除网址代码中的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的新手,需要一手来解决这个问题。
想要这个:
/内容/堆栈过流
答案 0 :(得分:1)
你的正则表达式只允许使用字母。它还应该允许连字符,数字,大写字母和下划线。试试这个:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)/([^/]+)/?$ content.php?action=$1&title=$2 [NC,L,QSA]