我有一个php页面,我正在尝试用htaccess映射它。想法是映射页面,如果没有参数,则页面为1。这是用于分页。
我的php页面:
<?php echo $page = isset($_GET['p']) ? $_GET['p'] : 1; ?>
在我的htaccess文件中,我有这个:
RewriteRule ^noticias/ noticias.php [L]
RewriteRule ^noticias/([0-9]+)/?$ noticias.php?p=$1 [L]
如果我尝试使用localhost/example/noticias.php
和localhost/example/noticias.php?p=2
访问页面,则一切正常。
如果我添加第一条规则,第二条规则不起作用。如果我删除了第一条规则,则该网址将无法正常工作。
先谢谢。
答案 0 :(得分:1)
您可以在MultiViews
关闭的情况下使用以下规则:
Options -MultiViews
RewriteEngine on
RewriteRule ^(noticias)/?$ $1.php [NC,L]
RewriteRule ^(noticias)/(\d+)/?$ $1.php?p=$2 [QSA,NC,L]
答案 1 :(得分:0)
在您的.htaccess
文件中尝试
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^noticias/?$ noticias.php [QSA,NC,L]
RewriteRule ^noticias/([1-9]+)/?$ noticias.php?p=$1 [QSA,NC,L]
</IfModule>