2011-08-01 136 views
4

我有一个奇怪的情况,我的网站就像 如何隐藏使用.htaccess在URL中传递的参数

www.example.com/page.php?url=homepage
。我正在尝试使用.htaccess文件使url看起来像

www.example.com/page/homepage/

通过隐藏URL中的“.php?url =”部分。这可能吗?请建议。

回答

9

试试这个:

<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/

# /anything/anything -> anything.php?url=anything 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([A-Za-z0-9_])/([^/]*)$ /$1.php?url=$2 [L] 

</IfModule> 

如果page.php名永远是相同的,那么像这样做:

<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/

# /page/anything -> page.php?url=anything 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^page/([^/]*)$ /page.php?url=$1 [L] 

</IfModule> 
+0

我想查看像http://www.example.com/blog/new-post而不是http://www.example.com/blog/blog-page.php?blog=new-post使用htaccess的URL 。先谢谢你... –

4
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^page/(.*)/$ /page.php?url=$1 [L] 
1

重写规则^([A-ZA-z0- 9 - ] +)/([A-Za-z0-9 - ] +)/?$ pagename.php?name = $ 1 & id = $ 2 [NC,L] 此代码可以隐藏你的页面名称

相关问题