Mod Rewrite忽略url

时间:2013-10-27 02:17:31

标签: php apache .htaccess mod-rewrite

我正在创建一个网站,而不是使用GET变量,我只会查看网址。你如何创建一个mod_rewrite规则,无论用户指向index.php(或某个页面)是什么?

EX:
用户输入: www.example.com/blog/programming/postName
用户仍然可以在地址栏中看到www.example.com/blog/programming/postName,但会显示www.example.com/index.php

我尝试过:

RewriteRule    ^([a-z]+.)?$    /index.php    [NC,L]  

但这只会更改一个目录的页面(仅适用于www.example.com/worksNow/)

RewriteRule    ^(.*)    /Blog3/index.php    [NC,L]

但是它出现了服务器错误

2 个答案:

答案 0 :(得分:1)

您可以使用此规则:

RewriteEngine On

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

这意味着如果任何不是文件或目录的请求在内部将其重写为/index.php

参考:Apache mod_rewrite Introduction

答案 1 :(得分:1)

此行为/配方不需要mod_rewrite,请参阅FallBackResource。

http://httpd.apache.org/docs/2.2/mod/mod_dir.html#fallbackresource