如何隐藏所有文件扩展名,例如.php来反击SEO
/page => /page.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L]
这不起作用......
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !\.php$ [NC]
RewriteRule ^(.*)([^/]*)$ /$1$2.php [QSA,L]
答案 0 :(得分:0)
你在代码中写了一些奇怪的错误!
%{REQUEST_FILENAME}
已包含文件扩展名,因此您要求的文件以.php.php
结尾,并且-f
- 标志,您正在检查是否存在此类文件。此外,实际上不需要检查所请求的文件是否存在您想要做的事情。.php
。因此index.php
将成为index.php.php
修复这些错误,你会得到类似的结果:
RewriteRule (.*)\.php$ $1/
您可以在expresison的右侧使用$1, $2, $...
来访问左侧括号()之间的第n个匹配。
有关mod_rewrite的更多信息,请参阅here。也许不时看一下也许会有所帮助。 ;)