2

这是我的 .htaccess 代码,

<IfModule mod_rewrite.c>
RewriteEngine On

#RewriteCond %{REQUEST_URI} /view-([a-zA-Z0-9_-]+)/$
RewriteRule ^view-([a-zA-Z0-9._-]+)/$ post.php?id=$1

</IfModule>

即, id=$1 = my-first-&-thread++ 来自 post.php 文件。

链接变成

http://site.com/view-my-first-&-thread++/

并给出错误 404。

我希望我的链接是这样的:

http://site.com/view-my-first-thread/

这怎么可能?请帮助

4

2 回答 2

0

您在 中使用的正则表达式RewriteRule与您的示例 URL 不匹配,因为它同时排除了+&。有时,通过允许特定字符,您可以隐式排除您可能需要的其他字符。

尝试更改规则以匹配斜线 ( /) 之外的任何内容:

RewriteRule ^view-([^/]+)/$` post.php?id=$1
于 2013-08-09T12:10:05.907 回答
0

您将需要这里B的标志mod_rewrite

RewriteRule ^view-([^/]+)/?$ post.php?id=$1 [L,QSA,NC,B]

这将重定向http://site.com/view-my-first-&-thread++/http://site.com/post.php?id=my-first-&-thread++

于 2013-08-27T09:42:20.247 回答