我有一个页面,其中包含许多隐藏内容,我使用jQuery进行动画制作。例如,我有一个主页面,其中包含#作为href的链接,点击我将匹配的div设置为该链接的动画,并将其设置为视图。
我想有办法直接从网址获取这些div。目前我正在使用一些javascript代码来动画点击与div匹配的标签。例如,我想点击标识为<a>
的{{1}}标记。我的网址变为aboutus
,然后javascript将#之后的所有内容都删除,然后单击该标记,然后点击标记并激活我想要的div,但是,我希望通过举例来引用一些内容www.myurl.com/homepage.aspx#aboutus
。
我考虑过为每个div创建一个文件夹,并放置主页的副本,并显示所需的div,但我不认为这是解决问题的最有效方法。有没有人有任何好的想法来实现这个目标?
答案 0 :(得分:1)
如果您在Apache网络服务器上托管,请在与您的内容相同的文件夹中创建以下.htaccess
文件:
<IfModule mod_rewrite.c>
# Enable rewrite engine
RewriteEngine on
# If the condition "file does not exist"…
RewriteCond %{REQUEST_FILENAME} !-f
# or the condition "directory does not exist"…
RewriteCond %{REQUEST_FILENAME} !-d
# rewrite the request as if it came from index.php
RewriteRule ^ index.php [L]
</IfModule>
对于IIS服务器,请尝试以下web.config
文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<!-- Rewrite URLs of the form 'x' to the form 'index.php?q=x'. -->
<rule name="Short URLs" 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" />
</conditions>
<action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" />
</httpErrors>
<defaultDocument>
<!-- Set the default document -->
<files>
<remove value="index.php" />
<add value="index.php" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
两种配置都松散地基于Drupal 7配置文件。他们将向您的网络服务器发出的所有与实际文件或目录不匹配的请求(例如/ about-us)实际上返回index.php
的输出(如果您可以将index.html
放在那里'提供静态HTML文件)。这一切都发生在服务器端......终端用户在输入URL时仍会看到URL(http://yourdomain.com/about-us)。您可以使用Javascript(location.href
)捕获该URL,并执行您需要执行的任何显示更改。