繁体   English   中英

htaccess重写网址-如何在代码中写入网址?

[英]htaccess rewrite urls - how do i write the urls in my code?

使用apache / .htaccess RewriteEngine:

如果我想更改一个URL

www.foo.com/mypage.php?var=abc&var2=123

www.foo.com/abc/123

我需要手动重写PHP文件中的URL,还是可以处理?

即,将我的代码<a href="mypage.php?var=abc&var2=123">更改为<a href="abc/123">

mod_rewrite能为我处理吗? 还是仅转换接收到的URL,而不根据.htaccess文件中的规则实际重写生成的HTML?

如果您具有服务器httpd配置访问权限,则可以在服务器apache服务器配置中放置以下代码,或将其放置在httaccess文件中

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mypage.php [L]
</IfModule>

并将以下代码放在mypage.php文件顶部,

$Get_data = explode('/', $_SERVER[REQUEST_URI]);
$_GET['var'] = $Get_data[1];
$_GET['var2'] = $Get_data[2];

现在,当您使用这些www.foo.com/mypage.php?var=abc&var2=123 url或这些www.foo.com/abc/123 url时,您将获得相同的结果。

有任何意见,请让我知道。

是的,您必须更改它。

Mod重写仅在内部重定向内部请求。 它更改了应用程序可见的HTTP标头,但您仍然可以通过附加的标头字段来重现原始url。 它不会修改您发送的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM