在我的网站上,比如test.com,如果有人访问test.com/hello,我希望它重定向到test.com并将字符串数据从'/'(在本例中为“hello”)后传递到页面,例如通过PHP。
我可以使用.htaccess文件执行此操作吗?
答案 0 :(得分:0)
以下是获取组合mod_rewrite
和PHP代码的多个参数的两个选项。
在根目录下的一个.htaccess文件中尝试使用此请求作为示例:
http://test.com/1/2/3
将以下代码放在.htaccess文件中:
# Rule-set starts with next 6 lines:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
# Exclude all requests to existing files.
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [L]
1)在PHP中使用变量 REQUEST_URI 的选项:
# Additional 2 lines in .htaccess file
RewriteCond %{REQUEST_URI} !Test\.php [NC]
## Map silently all requests to Test.php
RewriteRule .* /Test.php [L]
Test.php
中用于捕获URI路径“/ 1/2/3”的PHP示例代码:
$URI = explode('/', $_SERVER['REQUEST_URI']);
echo var_dump($URI);
/***
Result:
array (size=4)
0 => string '' (length=0)
1 => string '1' (length=1)
2 => string '2' (length=1)
3 => string '3' (length=1)
**/
2)在PHP中使用变量 QUERY_STRING 的选项:
# Additional (Optional) 2 lines in .htaccess file
RewriteCond %{REQUEST_URI} !Test\.php [NC]
## Map silently all requests to Test.php, passing the URI=Path as a query
RewriteRule ^(.*) /Test.php?$1 [L]
Test.php
中的PHP示例代码,用于捕获QUERY“1/2/3”:
$QUERY = explode('/', $_SERVER['QUERY_STRING']);
echo var_dump($QUERY);
/***
Result:
array (size=3)
0 => string '1' (length=1)
1 => string '2' (length=1)
2 => string '3' (length=1)
**/
答案 1 :(得分:-1)
您可以使用重写引擎
RewriteEngine On
RewriteRule ^(.*)$ processor.php?url=$1