2015-05-22 102 views
0

我想在我的Apache中进行url重写,但我不确定它是哪一个。例如,如果有人去www.example.com点击中有一个选项卡上,默认情况下它会www.example.com/profile.php 我怎样才能把它改写为www.example.com/profile /或更好,www.example.com没有/profile/Apache Url重写或掩码删除扩展名为.php

RewriteEngine On 

RewriteCond %{HTTP} on 
RewriteRule ^/(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f 
RewriteRule ^/(.*)$ /$1.php [L,QSA] 

RewriteCond %{HTTP_USER_AGENT} libwww-perl 
RewriteRule^– [F] 

Options +FollowSymlinks 
RewriteEngine On 
RewriteCond %{QUERY_STRING} foo=(.*) 
RewriteRule ^grab(.*) /search.php?query=%1 
+0

你是否已经尝试改写这个网址? – umka

+0

是的,我附上我的代码。另一件事我该如何重写搜索? –

回答

0

我怎样才能把它改写对于www.example.com/profile/ 或更好,www.example.com无/资料/

你 “更好” 的方法是有缺陷的。人们喜欢书签。从网址中删除/profile/将会阻止链接共享和书签。网站在轻松链接共享上发展。

RewriteEngine On 
RewriteRule ^([^\/]*)\/?$ $1.php [L,QSA] 

您可以测试这个规则在这里:http://htaccess.madewithlove.be/

+0

好的,但它仍然有可能吗?我的主要原因只是登录后的主页,例如: example.com/index.php - > login.php - > exmaple.com/main.php 我怎样才能保持main.php为example.com/ –

+0

这取决于你的应用程序的设计。但是从URL中删除文件名(或某种形式的标识符)是否定的。 –

+0

例如,Facebook将如何做呢?当你注销它的index.php时,当你登录其仍然index.php –