使用参数重写URL

时间:2012-11-08 19:58:33

标签: .htaccess mod-rewrite url-rewriting

我是网址改写的菜鸟,我真的需要帮助解决这个问题:

我有这个网址:section / news.php?url = section / news / 27-how_to_make_rewrite.html我想使用url参数访问此新闻,链接将是:section / news / 27-how_to_make_rewrite.html

.htacess文件在根目录中,我有一个名为section的文件夹,在这个文件夹中我有新闻文件夹

这对我来说很有用。

我有:

RewriteEngine on
RewriteBase   /section/
RewriteRule news/^([a-zA-Z0-9-+/]+)/$ news/news.php?url=$1

我怎么做?

2 个答案:

答案 0 :(得分:1)

我没有在子文件夹中使用它,但我会尝试这样的事情。

RewriteRule ^news/([^/\.]+)/?$ news/news.php?url=section/news/$1 [L]

修改

以这种方式尝试:

RewriteRule ^section/news/([^/.]+)/?$ news.php?url=section/news/$1 [L]

您通常只想放置变量中的变化。 section / news /总是被使用,所以你应该把它保留在替换之外。

答案 1 :(得分:0)

如果要将重写为的URI如下所示:section/news.php?url=section/news/27-how_to_make_rewrite.html

然后你的目标中有太多“新闻”了。您还需要修复正则表达式模式以匹配27-how_to_make_rewrite.html等内容。

你想要这样的东西:

RewriteEngine on
RewriteBase /section/
RewriteRule news/(.+)/?$ news/news.php?url=section/news/$1