Mod Rewrite - 在字符串之前忽略目录

时间:2017-03-23 21:04:22

标签: php .htaccess mod-rewrite url-rewriting

我对使用此指令的博客文章进行了简单的重写

RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ viewpost.php?aid=$1 [QSA,L]

使用

等网址时,它可以正常运行
http://example.com/some-blog-title

最近我为某些帖子添加了特殊类别,并且需要表单中的URL

http://example.com/categoryname/some-blog-title

所以我需要的是在网站上使用两种类型的网址

http://example.com/some-blog-title

http://example.com/categoryname/some-blog-title

并且他们都使用viewpost.php?aid = $ 1脚本。 Categoryname只是一个单词(产品名称)。它不会改变所以它不需要是动态的。我想将它简单地用于seo目的。 所以我需要这个指令接受两种类型的url - 使用categoryname或不使用它。

1 个答案:

答案 0 :(得分:1)

只需将规则更改为此选项即可将类别名称设为可选:

RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(?:[\w-]+/)?([\w-]+)/?$ viewpost.php?aid=$1 [QSA,L]