这是我用来隐藏php扩展名的代码
<IfModule mod_rewrite.c>
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)\." - [F]
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
</IfModule>
它很完美,但我遇到了一个问题。
当我想访问blog.php时,我只需创建http://example.com/blog链接即可。
我在同一文件夹中也有blog-post.php文件,因此我创建了http://example.com/blog-post链接。
但它会被重定向到http://example.com/blog并使用302标题(我在开发人员工具中找到了这个,在网页上它没有显示任何错误。)
另外,我想让这个博客帖子搜索引擎像http://example.com/blog/id-of-blog/title-of-blog
一样友好所以,请告诉我如何使这成为可能?
答案 0 :(得分:0)
是的,有可能,
使用.htacccess文件尝试此代码,
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
答案 1 :(得分:0)
为什么你们都使用相同的方法。这是隐藏扩展的替代方法。
您的文件必须如下:
<a href='aboutus'>about us</a>
而不是<a href="aboutus.php">about us </a>
现在将其添加到.htaccess文件中
RewriteCond %(REQUEST_FILENAME) !-d <br>
RewriteCond %(REQUEST_FILENAME) !-f <br>
RewriteCond %(REQUEST_FILENAME) !-l<br>
RewriteCond ^aboutus aboutus.php [L]<br>