Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用.htaccess重写URL?_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php 用.htaccess重写URL?

Php 用.htaccess重写URL?,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我正试图重写一个url,但似乎无法实现 我只想要一个工作的例子,这样我就可以移动到我的网站的所有页面 所以我有这个链接: www.domain.com/article.php?id=1 我可以将其更改为: www.domain.com/article/1/ 现在没关系,稍后我将用文章标题替换数字 这是我的.htaccess文件中的内容: RewriteEngine On # Turn on the rewriting engine RewriteRule ^article\.ph

我正试图重写一个url,但似乎无法实现

我只想要一个工作的例子,这样我就可以移动到我的网站的所有页面

所以我有这个链接:

www.domain.com/article.php?id=1
我可以将其更改为:

www.domain.com/article/1/
现在没关系,稍后我将用文章标题替换数字

这是我的.htaccess文件中的内容:

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^article\.php\?id=([0-9]+)$    article/$1/

有什么问题吗?我听说如果使用FTP在服务器上保存,.htaccess文件需要使用ASCII格式,但我不知道怎么做,因为我自己创建了它。

在重写规则中,您无法匹配查询字符串,您需要在以下条件下匹配
%{query\u string}

RewriteEngine On    # Turn on the rewriting engine
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule    ^article\.php$    article/%1/? [L]
这会在内部将您的请求重写为
/article/1/
。浏览器仍将看到旧的URL

您更希望的是与请求匹配:

RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+article\.php\?id=([0-9]+)
RewriteRule ^ /article/%1/? [L,R=301]

RewriteRule ^article/([0-9]+)/?$ /article.php?id=$1 [L,QSA]

实际上,你是在倒退

RewriteRule ^article/([0-9]+)$ /article.php?id=$1

你完全是在倒转。RewriteRule^article/([0-9]+)$/article.php?id=$1语法是
RewriteRule(IncomingPath.*)LocalPath?$1
oh。。。lol我的错误xD但什么也没发生:将我的加号隐藏在错误的位置,编辑。代码有效:感谢您的帮助,但什么也没发生…?:(秒代码起作用,第一个不起作用。但是,使用秒代码我得到了一个404页面…是的,我看到了错误,并纠正了它,但它给了我一个404错误页面。@th3lmuuuu90当你转到
/article.php?id=1
时,你得到的是404?@th3lmuuuuu90还是你的例子中的一切都是
/articles?id=1