这就是我所拥有的:
www.name.com/category.php?title=111-hello-kitty
这就是我想要的:
www.name.com/category/111-hello-kitty
也可以隐藏htaccess中的数字部分,所以它看起来像这样:
www.name.com/category/hello-kitty
这是我目前的代码:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.php\sHTTP/.+
RewriteRule ^(.+)\.php$ /$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^([^/.]+)$ /?title=$1
显然,最后一行不起作用。
我是否可以一般打电话让所有?anything=
替换为上述示例?
答案 0 :(得分:1)
我的想法:
www.name.com/category/111/hello-kitty/
用于我的网址。原因是这样您就可以系统地解析每个部分。请注意,这也是StackOverflow正在使用的内容。以下RewriteRule假定category
和hello-kitty
的部分仅包含字母数字符号和破折号(通常的做法):RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/([A-Za-z0-9-]+)/?$ /$1.php?title=$2-$3
#although I'd recommend that you really do this:
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)/[A-Za-z0-9-]+/?$ /$1.php?id=$2
答案 1 :(得分:0)
做这样的事情:
RewriteRule ^ category(/.+)?$ /category.php [L]