我打电话给?page=about
在index.php上使用GET方法(即'about'是一个选择选项)。一旦我点击提交,URL将是这样的:htaccess从页面ID重写到名称不起作用
http://example.com/?page=about
但是我想它看起来像这个:
http://example.com/about
,但保持工作的脚本(PHP) index.php(不要也不想有'about'文件),即。我希望在发送表单后使用同一页面上的GET值。我可以使PHP脚本工作,它反应良好,但URL重写根本不起作用。
我已经尝试过下面的htaccess重写,但它没有做任何事情,URL保持如上。
我的htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ?page=$1 [L,QSA]
我将非常感谢您的帮助,因为我不知道为什么,这是行不通的。我已经通过网络进行了搜索,每个人都指出了这条规则,但对我来说它根本就没有做任何事情。
非常感谢!
编辑:
让我发表我用我的PHP代码,对不起,我错过了。我现在已经删除了action
属性的,因为我在,我知道是给我相同的提交表单时,浏览器使用它:
<?php
$page = $_GET['page'];
switch($page){
case 'about': echo 'I am me'; break;
case 'galery': echo 'Nice pictures here'; break;
}
?>
<body>
<form action="/" method="get">
<select name="page">
<option value="about">about</option>
<option value="galery">galery</option>
</select>
<input type="submit" value="Submit" />
</form>
</body>
编辑#2:
我将action="/"
添加到表单标签中,以便anubhava的解决方案工作。
变化'页= $ 1'为'index.php页面= $ 1' – Jon 2013-04-07 17:35:05
感谢,但没” t改变一件事,不幸 – webeno 2013-04-08 17:56:14
是否启用了'mod_rewrite'?没有任何其他的东西应该是错的。该错误不适用于您发布的任何内容。 =/ – Jon 2013-04-08 20:21:48