我正在创建一个网站,而不是使用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]
但是它出现了服务器错误
答案 0 :(得分:1)
您可以使用此规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]
这意味着如果任何不是文件或目录的请求在内部将其重写为/index.php
答案 1 :(得分:1)
此行为/配方不需要mod_rewrite,请参阅FallBackResource。
http://httpd.apache.org/docs/2.2/mod/mod_dir.html#fallbackresource