如何为基于html和javascript的站点创建干净的url
我目前有我的投资组合要处理,我正在寻找像hayofriese.com/work这样的链接。在我的本地主机上,这可以通过使用.htaccess文件来解决,并且一切都运行顺利,但是我的站点所在的服务器不允许使用htaccess文件或不支持它 我该怎么做才能让这一切顺利进行呢 我的代码的工作方式是所有内容都重定向到index.html。只要有子链接(如/about或/work),javascript就会检测到并加载相应的页面。我只需要启用重新路由,因为现在当我使用hayofriese.com/about时会出现404错误,这意味着它不会重定向到index.html,尽管存在localhost working.htaccess文件 任何帮助都将不胜感激如何为基于html和javascript的站点创建干净的url,javascript,html,apache,.htaccess,Javascript,Html,Apache,.htaccess,我目前有我的投资组合要处理,我正在寻找像hayofriese.com/work这样的链接。在我的本地主机上,这可以通过使用.htaccess文件来解决,并且一切都运行顺利,但是我的站点所在的服务器不允许使用htaccess文件或不支持它 我该怎么做才能让这一切顺利进行呢 我的代码的工作方式是所有内容都重定向到index.html。只要有子链接(如/about或/work),javascript就会检测到并加载相应的页面。我只需要启用重新路由,因为现在当我使用hayofriese.com/abou
<configSections>
<sectionGroup name="system.webServer">
<sectionGroup name="rewrite">
<section name="rewriteMaps" overrideModeDefault="Allow" />
<section name="rules" overrideModeDefault="Allow" />
</sectionGroup>
</sectionGroup>
</configSections>
<system.webServer>
<security>
<requestFiltering>
<denyUrlSequences>
<add sequence="engine" />
<add sequence="inc" />
<add sequence="info" />
<add sequence="module" />
<add sequence="profile" />
<add sequence="po" />
<add sequence="sh" />
<add sequence="theme" />
<add sequence="tpl(\.html" />
<add sequence="Root" />
<add sequence="Tag" />
<add sequence="Template" />
<add sequence="Repository" />
<add sequence="code-style" />
</denyUrlSequences>
<fileExtensions>
<add fileExtension=".sql" allowed="false" />
<add fileExtension=".pl" allowed="false" />
</fileExtensions>
</requestFiltering>
</security>
<directoryBrowse enabled="true" />
<caching>
<profiles>
<add extension=".php" policy="DisableCache" kernelCachePolicy="DisableCache" />
<add extension=".html" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="14:00:00:00" />
</profiles>
</caching>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^hayofriese\.com$" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="http://www.hayofriese.com/{R:1}" />
</rule>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.html?q={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
<defaultDocument>
<files>
<remove value="index.html" />
<add value="index.html" />
</files>
</defaultDocument>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/index.html" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
我得到的错误如下:
必须在“section”标记上指定“type”属性。(…\web.config第7行)
必须在“section”标记上指定“type”属性。(…\web.config第8行)
由于您使用的是
.htaccess
,因此我假设在本地主机安装上使用WAMP/Apache,但您的网站托管在一个运行在IIS上的服务器上(标题中报告的Microsoft IIS/7.5),该服务器使用另一个文件进行目录配置
您有两个选择:
- 如果可能,将您的主机计划更改为另一个使用Apache的主机计划(如果您出于某种原因不需要Linux主机,则某些主机提供商在Windows上提供Apache)。在我看来,为了使您的测试环境尽可能类似于您的网站服务器,这将是最好的选择
- 使用
,这或多或少相当于IIS中的web.config
,请检查以下链接:.htaccess
.htaccess
我假设在本地主机安装上使用WAMP/Apache,但是您的网站托管在一个运行在IIS上的服务器上(如标题中所报告的Microsoft IIS/7.5),该服务器使用另一个文件进行目录配置
您有两个选择:
- 如果可能,将您的主机计划更改为另一个使用Apache的主机计划(如果您出于某种原因不需要Linux主机,则某些主机提供商在Windows上提供Apache)。在我看来,为了使您的测试环境尽可能类似于您的网站服务器,这将是最好的选择
- 使用
,这或多或少相当于IIS中的web.config
,请检查以下链接:.htaccess
Location.hash
)访问URL的该部分)。遵循您建议的教程,使/page页面正常工作。现在的问题是根页面不工作