.htaccess?页面面具

时间:2013-01-27 15:25:10

标签: php .htaccess mod-rewrite

我做了一个完整的搜索,但似乎无法找到我之后的确切内容(抱歉,如果我错过了它)。

基本上我只想制作一个$ $ _GET值,即?页面值。

所以我想要这个:

localhost/?page=login

成为

localhost/login

但是我希望能够使用其他$ _GET值而不隐藏它们,例如,我需要这个才能工作

localhost/login?id=12 or localhost/login?name=dave

我还需要所有url请求通过单个index.php文件。

任何帮助都会非常感激。似乎无法实现我的目标。

谢谢

1 个答案:

答案 0 :(得分:0)

  

所以我想要这个:

localhost/?page=login
     

成为

localhost/login

实际上,这不太正确。你想要的是

/login

成为

/index.php?page=login

这可以使用

完成
RewriteRule ^(.*)$ index.php?page=$1 [QSA]

QSA标志会导致原始查询字符串和新查询字符串(page=$1)合并,而不是丢弃原始查询字符串。

要禁用重写指向现有文件名或目录的URL,请添加适当的RewriteCond - 指令,例如

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule

之前