在该代码中尝试做的是: 任何访问者点击像http://domain.com/article.php?id=44这样的href,.htaccess会将他转移到域名/ article / 44
然后另一个重写规则来从文件article.php
获取请求的id的内容RewriteCond %{QUERY_STRING} ^id=([^&]*)
RewriteRule ^article\.php$ http://alarabe.org/article/%1?
RewriteRule ^article/([a-z0-9\-]+)$ /article.php?id=$1 [L]
答案 0 :(得分:0)
此规则不正确,肯定会导致循环。您需要使用代表Apache从浏览器收到的原始请求的THE_REQUEST
变量。
请改为尝试:
RewriteCond %{THE_REQUEST} \s/+article\.php\?id=([^\s&]+) [NC]
RewriteRule ^ http://alarabe.org/article/%1? [R=302,L]
RewriteRule ^article/([a-z0-9\-]+)$ /article.php?id=$1 [L]