2014-03-27 91 views
0

我在4小时内搜索并找不到解决方案。我希望有人能帮助我。 我想用htaccess重写URL。rewriterule htaccess - 更改URL

我在menue此链接: /index.php?sec=schmiede & MP =常见问题

而且我想在浏览器URL得到这个: /schmiede/FAQ

谢谢! Markus

回答

0

您可以将每个请求重定向到index.php并从那里处理您的请求。你的.htaccess看起来像;

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

你可以通过调用$ _ SERVER [ 'REQUEST_URI']将返回 “/ schmiede/FAQ”,那么你可以通过使用

$route = explode('/', ltrim('/', $_SERVER['REQUEST_URI'])); 

或者把它转化为一个数组处理请求您可以简单地重定向该请求;

RewriteEngine On 
RewriteRule ^schmiede/faq$ /index.php?sec=schmiede&mp=faq [L] 

然而,由于你的例子显示了index.php的直接调用,我会用第一,你可能会用“漂亮的网址”为所有的链接。

+0

“RewriteEngine叙述在 重写规则^ schmiede/FAQ $ /index.php?sec=schmiede&mp=faq [L]” 谢谢。我尝试了一下,但它没有做任何事情; /任何想法? – Markus

+0

我测试过后一个选项,它应该可以工作。确保你的服务器上启用了mod_rewrite。 .htaccess: 'RewriteEngine On' [linebreak]'RewriteRule^schmiede/faq $ /index.php?sec=schmiede&mp=faq [L]'index.php:'<?php echo $ _GET ['sec'],''
',$ _ GET ['mp'];'告诉我它是否有效。如果不;你的.htaccess文件中是否有其他规则? – user3360311

+0

是的,这个工程。但我认为你不知道我需要。我想制作“漂亮的网址”。因此,在我的浏览器中,URL代表http://www .../index.php?sec = schmiede&mp = faq并希望拥有http://www .../schmiede/faq/...我希望它现在更清晰。谢谢你的帮助 – Markus