.htaccess从动态页面网址到静态

时间:2012-12-27 18:39:31

标签: apache .htaccess mod-rewrite apache2

我想创建一个.htaccess的动态规则来重定向页面:

http://www.mydomain.com/subdir/index.php?id=11&title=my-page-title

为:

http://www.mydomain.com/11/my-page-title

其中:   - id是整数   - title是string

我在堆栈溢出上发现了一个类似的示例,但只有一个$_GET值,而不是.htaccess dynamic to static URL

2 个答案:

答案 0 :(得分:4)

你措辞的方式实际上是错误的。您要做的是路由传入的请求,例如:

http://www.mydomain.com/11/my-page-title

/subdir/index.php

的脚本
RewriteEngine On
RewriteRule ^/?(.*)/(.*)$ /subdir/index.php?id=$1$title=$2 [L,QSA]

请注意,此特定方法会重定向服务器上*/*格式的所有内容。如果您需要为静态文件制作例外或只想要某些模式进行重定向,那么您的问题应该更加具体。

答案 1 :(得分:2)

在此尝试:

RewriteRule /([0-9]+)/([a-z-]+) subdir/index.php?id=$1&title=$2

此规则将查找包含至少1个diget的数字和包含减号的小写字符串,这可能是a或仅-