我正在尝试根据获取变量更改我的网站网址,以便我可以提高网站的安全性。
例如,我想更改我的地址,这是我的htaccess文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /category.php?cat_id=$1&mode=full&start=$1
我的网站网址是:
http://joinexam.in/category.php?cat_id=17&mode=full&start=36
我想将此网址转换为:
http://joinexam.in/category/1736
因此它会在1736
页面后变为category.php
,我正在尝试使用.htaccess文件。
我想将cat_id
和start
作为get变量,然后根据这些获取变量,我想更改网站的网址。
任何人都可以解释实现这一目标的正确方法吗?
答案 0 :(得分:0)
<强>的.htaccess 强>
这会将每个URL转发到index.php。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ ./index.php
<强> PHP 强>
获取index.php中的“原始”网址:
// this gives you the full url
$request_uri = $_SERVER['REQUEST_URI'];
// split the path by '/'
$params = split("/", $request_uri);
然后你可以根据这些$ params路由。 作为一个好的和快速的路由器库我建议:https://github.com/nikic/FastRoute 通过使用它,你不必乱用htaccess regexp的东西,并可以保持在PHP级别:)