我有一个简单的mod_rewrite系统建立在我的网站,基本上转换这是怎么回事与我的mod_rewrite?
http://site.com/file -> http://site.com/file.php
这里的.htaccess文件
Options -MultiViews
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.com
RewriteRule ^(.*)$ http://site.com/$1 [R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]+)/?$ http://site.com/$1.php [L]
这是工作了很长一段时间,然后一前两天我意识到在RewriteRule工作时,它实际上是在状态栏中更改我的URL。
例如,它会将/照片重定向到/photos.php,但它也会更改URL以显示.php。这从来没有发生过,我不确定发生了什么事情触发了变化。
任何想法?
这似乎是一个坚实的解决方案,但在这里不是正确的:\我知道,改写越来越到文件 - > file.php行,我行搞砸验证(即我更改$ 1.php为$ 1.php?foo = bar,然后http://site.com/file更改为http://site.com/file.php?foo=bar) – jchmski
是的,第二个解决方案做到了!非常感谢我欣赏它! – jchmski
请注意,您需要采取两个步骤来防止实际URL泄漏。另外,考虑选择一个有意义的[StackOverflow名称](http://tinyurl.com/so-hints),以便其他人可以使用[at-replies](http://meta.stackexchange。COM /问题/ 43019 /怎么办,评论,回复工作)。 – outis