用rewriterule打开php页面

时间:2015-11-30 16:39:15

标签: php apache .htaccess mod-rewrite

我看了很多指南,但无法找到解决方案。 :'(

我有3个这样的页面:

  • example.com/index.php?page=first
  • example.com/index.php?page=second
  • example.com/index.php?page=third

我添加了这个简单的htaccess规则:

RewriteEngine On
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]

好吧,它做我想做的事:

  • example.com/first
  • example.com/second
  • example.com/third

现在我需要打开一个没有规则的普通php页面

  • example.com/test.php

如果我运行它,我仍然会看到index.php ...

如何运行test.php文件?

3 个答案:

答案 0 :(得分:2)

RewriteEngine On
RewriteRule ^([^/]*).php$ /$1.php [L]
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]

答案 1 :(得分:1)

您需要从重写中排除您的文件和文件夹

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]*)$ /index.php?page=$1 [L]

答案 2 :(得分:0)

在指定重写规则rewrite rule之前,您需要指定页面/文件名index.php

尝试

RewriteEngine On
RewriteRule test.php /test.php [L]
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]

如果您移动了.php扩展名中的1个文件,则只需替换

RewriteRule test.php /test.php [L]

RewriteRule ^([^/]*).php$ /$1.php [L]