Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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中的页码_Php_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

Php 重写.htaccess中的页码

Php 重写.htaccess中的页码,php,.htaccess,mod-rewrite,url-rewriting,Php,.htaccess,Mod Rewrite,Url Rewriting,我在重写我的网站中的URL时遇到问题。我设法从我的URL中删除了所有的.php扩展,并将所有mydomain.com/img?id=X添加到mydomain.com/img/X,但我一直在为另一件事苦苦挣扎一段时间,我希望能得到任何帮助。我的网站由许多页面组成,第X页的链接是mydomain.com/?page=X(例如mydomain/?page=3),但我想将该URL重写为mydomain.com/page/X 这是我的.htaccess: RewriteEngine on RewriteB

我在重写我的网站中的URL时遇到问题。我设法从我的URL中删除了所有的.php扩展,并将所有mydomain.com/img?id=X添加到mydomain.com/img/X,但我一直在为另一件事苦苦挣扎一段时间,我希望能得到任何帮助。我的网站由许多页面组成,第X页的链接是mydomain.com/?page=X(例如mydomain/?page=3),但我想将该URL重写为mydomain.com/page/X

这是我的.htaccess:

RewriteEngine on
RewriteBase /
<nothing important>

RewriteCond %{HTTP_HOST}//s%{HTTPS} ^www\.(.*)//((s)on|s.*)$ [NC]
RewriteRule ^ http%3://%1%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^img/([0-9]+)/?$ img.php?id=$1

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php  
重新编写引擎打开
重写基/
重写cond%{HTTP_HOST}//s%{HTTPS}^www\.(.*)/((s)on | s.*)$[NC]
重写规则^http%3://%1%{REQUEST_URI}[L,R=301]
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}\.php-f
重写规则^img/([0-9]+)/?$img.php?id=$1
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}\.php-f
重写规则^(.*)$$1.php

此规则将把/?page=X重写为/page/X

RewriteRule ^page/([0-9]+)/?$ /?page=$1

此规则将把/?page=X重写为/page/X

RewriteRule ^page/([0-9]+)/?$ /?page=$1

可能的重复可能的重复我把这一行添加到一个文件的末尾,它没有改变任何东西。当我转到第2页时,URL仍然是mydomain.com/?page=2,这是另一个问题。要使页面上的链接指向不同的URL,您需要在代码中更改它们。但我对img做了同样的事情。我得到的不是mydomain.com/img?id=X,而是mydomain.com/img/X。区别是什么?Apache不修改页面内容。它将只处理传入的URL。您可以输入domain.com/page/1,它将显示第1页,但页面上的链接仍将指向domain.com/?page=1I在文件末尾添加了这一行,但没有更改任何内容。当我转到第2页时,URL仍然是mydomain.com/?page=2,这是另一个问题。要使页面上的链接指向不同的URL,您需要在代码中更改它们。但我对img做了同样的事情。我得到的不是mydomain.com/img?id=X,而是mydomain.com/img/X。区别是什么?Apache不修改页面内容。它将只处理传入的URL。您可以输入domain.com/page/1,它将显示第1页,但页面上的链接仍将指向domain.com/?page=1