IIS 8 Url 重写为忽略目录
IIS 8 Url Rewrite to Ignore Directory
我正在尝试设置 IIS 8 网站。我想忽略输入 url 的最后一个目录,但不想删除它,而是忽略它。目录名可以是任何东西
解释
网站 URL:https://mywebsite.com
该站点有一个名为/stores
的目录,里面有一个完整的网站。
该网站将使用 URL 中的 non-existent 目录 /somename
来正确呈现网站。
如果我输入 https://mywebsite.com/stores/somestore
显然我会得到 404 Not Found
因为目录 somestore
在 stores
中不存在
我如何编写一个 IIS 规则来忽略 URL 目录中不存在的最后一部分,同时将其保留在 URL 中以便 PHP 以正确呈现页面。
有点像 Facebook,通过将 /profilename
添加到 URL 即可访问个人资料。
注意: 由于一些技术冲突,我不能为此使用 URL 参数。
随时更新这个问题的标题,我不确定它是否完全正确。
Basically if you look at the address bar on Whosebug right now after the folder /questions there is a supposedly directory named ThisQuestionsId (55762513). But in the actual server is there a folder with that name? I assume not. I want to know how this is achieved.
至于如果你想通过IISurl重写实现类似Whosebug的url格式
我建议你可以参考下面的规则。
它将重写 https://mywebsite.com/question/55553 to https://mywebsite.com/question.php?id=55553
这意味着您可以将 question.php 页面中的逻辑写入 select 数据并根据查询字符串 id 的值显示它。
<rewrite>
<rules>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^question/([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="question.php?id={R:1}" />
</rule>
</rules>
</rewrite>
我正在尝试设置 IIS 8 网站。我想忽略输入 url 的最后一个目录,但不想删除它,而是忽略它。目录名可以是任何东西
解释
网站 URL:https://mywebsite.com
该站点有一个名为/stores
的目录,里面有一个完整的网站。
该网站将使用 URL 中的 non-existent 目录 /somename
来正确呈现网站。
如果我输入 https://mywebsite.com/stores/somestore
显然我会得到 404 Not Found
因为目录 somestore
在 stores
我如何编写一个 IIS 规则来忽略 URL 目录中不存在的最后一部分,同时将其保留在 URL 中以便 PHP 以正确呈现页面。
有点像 Facebook,通过将 /profilename
添加到 URL 即可访问个人资料。
注意: 由于一些技术冲突,我不能为此使用 URL 参数。
随时更新这个问题的标题,我不确定它是否完全正确。
Basically if you look at the address bar on Whosebug right now after the folder /questions there is a supposedly directory named ThisQuestionsId (55762513). But in the actual server is there a folder with that name? I assume not. I want to know how this is achieved.
至于如果你想通过IISurl重写实现类似Whosebug的url格式
我建议你可以参考下面的规则。
它将重写 https://mywebsite.com/question/55553 to https://mywebsite.com/question.php?id=55553
这意味着您可以将 question.php 页面中的逻辑写入 select 数据并根据查询字符串 id 的值显示它。
<rewrite>
<rules>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^question/([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="question.php?id={R:1}" />
</rule>
</rules>
</rewrite>