在index.php中重写
我在我的网站中重写HREF时遇到问题。首先,我设法从na 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:在index.php中重写,php,.htaccess,mod-rewrite,url-rewriting,rewrite,Php,.htaccess,Mod Rewrite,Url Rewriting,Rewrite,我在我的网站中重写HREF时遇到问题。首先,我设法从na 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 R
RewriteEngine on
RewriteBase /
<something not 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
此规则正下方:
RewriteCond %{HTTP_HOST}//s%{HTTPS} ^www\.(.*)//((s)on|s.*)$ [NC]
RewriteRule ^ http%3://%1%{REQUEST_URI} [L,R=301]
尝试添加:
RewriteCond %{THE_REQUEST} \ /+\?page=([0-9]+)
RewriteRule ^ /page/%1? [L,R]
RewriteRule ^page/([0-9]+)/?$ /?page=$1 [L]
它不能正常工作。当我点击一个按钮访问第2页时,它会很好地重定向,URL是ok-mydomain.com/page/2。有两个问题:当我返回到第1页时,我得到以下URL:mydomain.com/page/2?page=1。第二个问题(不太重要):当我将光标移到第2页的链接上时,会显示旧的URL(带有?page=2)有什么想法吗?或者你知道这种情况occurs@user2593393这些都与htaccess文件中的规则无关。您需要更改内容,以便以
/page/2
的形式使用绝对URL和URL。重写规则无法更改页面内容。好的,我就是这么做的。在'a href'中,我用一个特定的数字键入了我的页面的绝对路径,一切正常。谢谢