【发布时间】:2017-10-27 11:23:10
【问题描述】:
我正在尝试写一个简单的博客,它运行良好,直到我得到漂亮的链接。
我想做的是使用像 mysite.com/blog/this_post 这样的 URL 并将其作为 url 参数传递到 index.html 文件中,以便 index.html?blog=this_post
到处搜索,发现一堆 htaccess 代码,但大多数都不起作用。我确实找到了一种尝试工作但由于某种原因没有正确执行的解决方案。 (有和没有 Options +FollowSymLinks 部分)
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^blog/(.*) /blog/index.html?blog=$1
当我使用它时,我在 url 中得到 /blog/index.html?blog=index.html 而不是保留 /blog/this_post 并将其移植到 index.html 中。服务器上的某些内容可能设置不正确吗?博客的其他所有内容都像魅力一样工作,但脚本没有任何问题,它只是让漂亮的链接正常工作。
查看了具有 wordpress 并复制了该 htaccess 代码的旧网站,但它做同样的事情。此处和其他站点上的所有其他搜索都指向上述相同的解决方案或 wordpress,但由于某种原因,它将 index.html 传递给脚本,而不是预期的最后一个 url 段“this_post”。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.html [L]
</IfModule>
# END WordPress
应该发生的是用户输入
mysite.com/blog/this_post
地址栏中的哪个正确?但是 htaccess 文件会提取 this_post 并将其作为参数传递给 index.html 脚本。这就是上面的例子应该做的。为什么将地址栏更改为
mysite.com/blog/index.html?blog=index.html
我不知道为什么
旁注,因为我之前得到过这个...是的,我知道使用 .php 扩展名,但 .html 是客户要求他们不让步。
编辑可能重复的链接是我已经找到并尝试获取当前 RewriteRule 的链接,但它仍然无法正常工作。
【问题讨论】:
-
是的,谢谢,这是我发现的链接之一,可以引导我进入当前的 htaccess 行,只是由于某种原因无法正常工作,无法弄清楚原因