我正在尝试重定向我的链接:
my href = example.com/?p=users&page=2
我的网址应为= example.com/users/page/2
此时,我的mod_rewrite正在使用:
my href = example.com/?p=users
我的网址= example.com/users
这是我的htaccess:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/index.php
RewriteRule ^(.*)$ index.php?p=$1 [L,QSA]
</IfModule>
答案 0 :(得分:2)
完整的.htaccess:
Options +FollowSymLinks
RewriteEngine On
# skip all files and directories from rules below
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# skip index.php from any rules below
RewriteRule ^index\.php$ - [L,NC]
# handle /users/page/2 URI
RewriteRule ^([\w-]+)/([\w-]+)/(\d+)/?$ index.php?p=$1&$2=$3 [L,QSA]
# handle /users URI
RewriteRule ^([\w-]+)/?$ index.php?p=$1 [L,QSA]
答案 1 :(得分:1)
RewriteRule ^(.*)$ index.php?p=$1 [L,QSA]
尝试将RewriteRule
更改为:
RewriteRule ^(.+?)(?:/page/(\d*))?$ index.php?p=$1&page=$2 [L,QSA]
对此&#34;一条规则的轻微警告&#34;方法是将example.com/users
的请求重写为index.php?p=users&page=
,即。一个空的page
网址参数。
(.+?)
- 此子模式中的问号使正则表达式非贪婪,否则将始终省略正则表达式的可选第二部分。