问题描述
仅当我的文件夹中不存在该路径名文件时,我才想重定向到动态 URL。我如何使用 .htaccess RewriteRule 做到这一点
RewriteRule ^(.*)/(.*)/(.*)/?$ product.PHP [NC,L]
RewriteRule ^(.*)/(.*)/?$ results.PHP [NC,L]
ErrorDocument 404 http://example.com/404.PHP
此规则有效,但我的图像、CSS 和 JS 文件无法加载。
仅当“abc/xyz”和“abc/xyz/tuv”不作为文件存在于我的文件夹。
我们如何做到这一点。
谢谢
解决方法
根据您展示的样品,您可以尝试以下操作吗?这会查找您提到的文件夹名称是否作为实际目录/文件夹存在于系统中,然后在后端将它们重写为 product.php(对于 abc/xyz/tuv)和 results.php(对于 abc/xyz)文件。
请确保在测试您的 URL 之前清除浏览器缓存。
@model StatsDTO
//...
<form asp-action="Edit">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="StatsTypeName" class="control-label"></label>
<input asp-for="StatsTypeName" disabled />
</div>
<div class="form-group">
<label asp-for="Depth" class="control-label"></label>
<input asp-for="Depth" type="number" step="0.01" class="form-control" v-model="depth" />
<span asp-validation-for="Depth" class="text-danger"></span>
</div>
<script>
Vue.component('variable',{
props: ['variable'],template: `
<div class="form-group">
<label class="control-label">{{ variable.name }}
<span v-if="{{ variable.auto }}">(auto*)</span>
</label>
<input type="hidden" name="VariableIds[]" value="{{ variable.id }}" />
<input name="VariableValues[]"
class="form-control"
value="{{ variable.value }}"
:readonly="{{ variable.auto }}" />
</div>
`});
</script>
@for (int i = 0; i < Model.VariableNames.Length; i++)
{
<variable variable="{
id: '@(Model.VariableIds[i])',name: '@(Model.VariableNames[i])',code: '@(Model.VariableCodes[i])',value: '@(Model.VariableNames[i])',auto: '@(Model.VariableAutos[i])'
}"></variable>
}