我在.htaccess文件中有一行:
RewriteRule ^(.*)$ index.php?page=$1 [NC,L]
和index.php中的一行:
$page = $_GET['page']; echo $page;
如果我转到http://www.example.com/test-page,则会返回index.php。
我发现修复它的唯一方法是:
RewriteRule ^(.*)/$ index.php?page=$1 [NC,L]
如果我转到http://www.example.com/test-page/,它可以工作并输出测试页。
但是,我不希望该网页使用http://www.example.com/test-page/,我希望它使用http://www.example.com/test-page。
如何解决这个问题,最好不要在内部重写中添加一个在网址末尾添加/的规则...?
答案 0 :(得分:1)
尝试
RewriteRule ^(.*)$ /index.php?page=$1 [NC,L]
或尝试这样的事情
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
这会将所有流量重定向到index.php。你可以使用e。 G。 $_SERVER[REQUEST_URI]
来获取你的道路。