标签:htaccess php apache pagination
我在example.com/中有文件
contact.php
recent.php
videos.php
watch.php
example.com/page/> / page /不是文件夹.但我想工作其他文件夹
contact.php(无分页)
example.com/page/contact
最近.php(分页>最近.php?page = 2)
example.com/page/recent
example.com/page/recent?page=2
watch.php(无分页> watch.php?title =戏剧名称)
example.com/page/watch/drama-name
videos.php(具有获取名称> videos.php?name = drama-name& page = 2的分页)
example.com/page/videos/drama-name
example.com/page/videos/drama-name?page=2
这是我完整的htaccess代码(example.com/.htaccess)
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$http://www.%{HTTP_HOST}/$1 [R=301,NE,L]
RewriteRule ^page/playlist$/playlist.php [L]
RewriteRule ^page/submit$/submit.php [L]
RewriteRule ^page/contact$/contact.php [L]
RewriteRule ^page/search$/search.php [L]
RewriteRule ^page/recent$/recent.php [L]
RewriteRule ^page/watch/([^/]+)? /watch.php?title=$1
RewriteRule ^page/videos/([^/]+)? /videos.php?name=$1
但无法在/ page / videos / drama-name中使用?page = 2如何解决?还有另一个问题吗?
解决方法:
您可以结合使用正则表达式,并使用QSA标志在.htaccess中缩短规则:
RewriteEngine on
RewriteBase /
# add www in host name
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*?)/?$http://www.%{HTTP_HOST}/$1 [R=301,NE,L]
# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$/$1 [NE,R=301,L]
RewriteRule ^page/(submit|contact|search|recent|playlist)/?$$1.php [L,NC]
RewriteRule ^page/(videos|watch)/([^/]+)/?$$1.php?title=$2 [L,QSA,NC]
标签:htaccess,php,apache,pagination 来源: https://codeday.me/bug/20191011/1891421.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。