我一直试图使用mod_rewrite将无效的URL目录作为变量传递给PHP脚本,但仍保留在URL中。
示例:
http://my.test.com/mydir重定向到 http://my.test.com/index.php?dir=mydir,但网址显示http://my.test.com/mydir
和
http://my.test.com/mydir/example.php重定向到 http://my.test.com/example.php,但网址显示http://my.test.com/mydir/example.php
这将用于许多将目录保留在URL中的PHP脚本。我需要css / js / imgs目录仍然可以访问。我相信我可以使用html头中的基本href来做到这一点。我一直试图将无效目录保留在URL中。
在我当前的示例中,如果我打电话
它显示index.php,URL保持不变。如果我打电话
http://my.test.com/mydir/index.php它给我一个404错误。
我已经尝试了每个有关堆栈溢出的示例,以及从Google搜索中得出的太多示例。经过两天的努力,我认为我需要一点帮助。
我的.htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/?$ index.php?c=$1
RewriteRule ^([^/\.]+)/([^/\.]+)?$ index.php?url=$2&c=$1 [L]
我用于测试的index.php:
<?php
if (isset($_GET['c'])) {
$companyid = $_GET['c'];
}
if (isset($_GET['url'])) {
$url = $_GET['url'];
}
echo "DEBUG: " . $companyid . "<br>";
echo "DEBUG: " . $url;
exit;
?>