有些人可以帮助我,我想在我网站的网址中隐藏文件扩展名。
所以一个例子就是 http://www.mysite.com/home.php http://www.mysite.com/control.php
而将显示为 http://www.mysite.com/home http://www.mysite.com/control
我一直在调查这个,并发现这个代码似乎隐藏了网址中的文件扩展名,但现在我的链接无法工作,我得到404错误。我认为我需要修改我的网站链接路径或类似的东西。
有人可以告诉我我需要做什么,这是我在.htaccess中使用的代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^/]+/)*[^.]+\.php(\?[^\ ]*)?\ HTTP/
RewriteRule ^(([^/]+/)*[^.]+)\.php$ http://www.mysite.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ http://www.mysite.com/$1/ [R=301,L]
答案 0 :(得分:0)
Google可以在堆叠前提供帮助:)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^/]+)/$ $1.html
# Forces a trailing slash to be added
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
http://eisabainyo.net/weblog/2007/08/19/removing-file-extension-via-htaccess/ 还看 Making a rewriterule remove .php extension?
答案 1 :(得分:0)
如果要隐藏所有扩展名(不仅仅是.php,.html),请使用:
Options +FollowSymLinks +MultiViews
在你的httpd.conf或.htaccess
中