Apache Mod_重写动态URL的Htaccess
我有这个链接 www.example.com/1/title 去哪 www.example.com/post.php?author=1&title=title 因为这个规则Apache Mod_重写动态URL的Htaccess,apache,.htaccess,mod-rewrite,redirect,http-status-code-301,Apache,.htaccess,Mod Rewrite,Redirect,Http Status Code 301,我有这个链接 www.example.com/1/title 去哪 www.example.com/post.php?author=1&title=title 因为这个规则 RewriteRule ^post/([0-9]+)/([\w-_:]+)/?$ post.php?author=$1&title=$2 [L,QSA,NC] 很好,但是现在怎么做才能让某人键入www.example.com/post.php?author=1&title=title重定向到www.example.
RewriteRule ^post/([0-9]+)/([\w-_:]+)/?$ post.php?author=$1&title=$2 [L,QSA,NC]
很好,但是现在怎么做才能让某人键入www.example.com/post.php?author=1&title=title重定向到www.example.com/1/title
我花了几个小时在网上研究这个,但信息是模糊的(至少对我来说)和不工作
到目前为止,有两件事困扰着我:
- 将pretty url写入dynamic,然后将dynamic写入pretty- 这不就产生了一个循环吗
- 我还想走301重定向的路线,但我找不到 任何从第一个链接获取变量并放入的可行代码 重定向。在我看来,301是正确的选择,但我看到 很多人(例子)都是通过重写规则来完成的
RewriteRule ^post.php?author=([0-9]+)&title=([\w-_:]+)$ post/$1/$2
但就像我说的,什么都不管用。我一直在像这样的网站上绞尽脑汁,但我无法完全理解(或应用)我在那里读到的内容。你能告诉我我做错了什么或者我应该如何处理这个问题吗
非常感谢您能给我的任何帮助您需要这样一条新规则:
RewriteCond %{THE_REQUEST} \s/+post\.php\?author=([^&]*)&title=([^\s&]+) [NC]
RewriteRule ^ post/%1/%2? [R=302,L]
RewriteRule ^post/([0-9]+)/([\w-_:]+)/?$ post.php?author=$1&title=$2 [L,QSA,NC]
谢谢你-这几乎奏效了。我会看看我是否能使它充分发挥作用。到目前为止,这让我觉得自己走了一条艰难的道路,而且成功了-重写规则^?[R=302,L]-非常感谢。或者您可以在目标中加一个斜杠作为
RewriteRule^/post/%1/%2?[R=302,L]