如何使用.htaccess从url隐藏文件名

时间:2013-03-30 18:40:51

标签: .htaccess

我想知道如何使用.htaccess从网址完全隐藏文件名。

目前它是这样的: mysite.com/foldername/filename

我希望它像: mysite.com/foldername

目前我使用.htacces文件仅从url中删除文件扩展程序,我想将其升级为仅显示文件夹名称。我们还没有任何关于.htacces的领导,所以我很感激相当直接的代码和提示,谢谢! :)

RewriteOptions inherit
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule ^(.*)$ $1.html

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.htm -f 
RewriteRule ^(.*)$ $1.htm

RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^/?$ "http\:\/\/tjmediaproductions\.com\/quiz\/" [R=301,L]

1 个答案:

答案 0 :(得分:3)

RewriteOptions inherit
RewriteEngine On  # enables url rewriting

RewriteCond %{REQUEST_FILENAME} !-d  # if requested uri is not directory (!-d)
RewriteCond %{REQUEST_FILENAME}\.php -f # and if there is a file named URI+'.php' (-f)
RewriteRule ^(.*)$ $1.php # then if there is any thing in uri then rewrite it as uri+'.php'

其他人都是一样的     
关于las部分的idont知道。

<br />
<br />

还有另外一点和问题     
如你所说     
目前它就像:mysite.com/foldername/filename     
我希望它像:mysite.com/foldername     
 告诉我它背后是什么样的规则?     
你想要这个吗?     


    mysite.com/something

绝对的     


    mysite.com/something/something.php

或使用


    mysite.com/something

绝对的     


    mysite.com/something/anotherthing.php

如果你想使用第一种方式。
你可以使用这个可能是作品


    RewriteCond %{REQUEST_FILENAME} -d  # if requested uri is directory (-d)
    RewriteCond %{REQUEST_FILENAME}\.php !-f # and if there is not a file (!-f)
    RewriteRule ^([A-Za-z0-9-]+)/?$ $1/$1.php [NC,L] # foldername/foldername.php

或者这个


    RewriteCond %{REQUEST_FILENAME} !-d  # if requested uri is not directory (!-d)
    RewriteRule ^([A-Za-z0-9-]+)/?$ $1/$1.php [NC,L] # foldername/foldername.php