我需要获取页面
http://localhost/Magnigeeks/noqdoc/dashboard/?view=clinics
http://localhost/Magnigeeks/noqdoc/dashboard/clinics
我为此写了这个htaccess
RewriteEngine On
RewriteRule ^([^/]*)\.html$ /Magnigeeks/noqdoc/dashboard/?view=$1 [L]
它正在工作,但我不想在网址中使用.html。
意味着,它正在处理此网址
http://localhost/Magnigeeks/noqdoc/dashboard/clinics.html
但我需要这个网址
http://localhost/Magnigeeks/noqdoc/dashboard/clinics
谢谢
答案 0 :(得分:0)
然后您需要从RewriteRule中删除/.html
。所以它会变成这样:
RewriteRule ^([^/]*)$ /Magnigeeks/noqdoc/dashboard/?view=$1 [L]
确保在>>测试之前清除缓存。
答案 1 :(得分:0)
只需从规则模式中删除 .html ,这样就可以在不使用.html的情况下访问uri。
private function attachQueries($url)
{
foreach ($this->queries as $key => $value) {
if(strpos($url,'?') !== false) {
$url .= '&' .$key. '=' .$value;
} else {
$url .= '?' .$key. '=' .$value;
}
}
return $url;
}
private function isUrlContainsRuntimeParameters($url)
{
preg_match(self::RUNTIME_PARAMETER_PATTERN, $url, $matches);
return !empty($matches);
}
private function mergeRuntimeParametersValues($parameter)
{
preg_match(self::RUNTIME_PARAMETER_PATTERN, $parameter, $matches);
return empty($matches)
? $parameter
: preg_replace(self::RUNTIME_PARAMETER_PATTERN, $this->runtimeParameters[$matches[1]], $parameter);
}
答案 2 :(得分:0)
您的.htaccess似乎位于/Magnigeeks/noqdoc/dashboard/
目录中,因此您无需在目标中使用此功能。
此外,您必须跳过重写中的文件和目录,以避免规则循环。
您可以使用:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ ?view=$0 [L,QSA]