服务器文件配置:使用.htaccess重定向到脚本,但也传递CGI参数



我有一个想法,可以让搜索引擎更好地索引Web论坛内容/线程,但避免占用Web服务器上太多不必要的空间。

我的想法并不独特(我认为StackOverflow使用了它),但我很难弄清楚如何通过.htaccess命令或主服务器配置文件实现重定向

对于网络论坛网站;创建新线程时:

  • 我将线程HTML存储在SQL数据库中(而不是创建一个HTML文件,我认为这会占用更多的服务器空间,这是正确的吗?)
  • 我在服务器上创建了一个目录,其中目录的名称是线程名称(这将允许更容易地从谷歌和其他搜索引擎进行索引,不是吗?因为url更具描述性?)。所以www.myForum.com/posts/unique_thread_name/。我认为StackOverflow就是这样做的,如果你看看我问题的url,它是一个目录
  • 除了.htaccess文件外,新目录(线程目录)将为空,该文件将重定向到脚本www.myForum.com/cgi-bin/loadWebpage.py;显示该线程
  • 因此,当有人访问www.myForum.com/posts/unique_thread_name/时,.htaccess文件将重定向到www.myForum.com/cgi-bin/loadWebpage.py?thread=unique_thread_name。注意这些参数,.htaccess文件是否可以重定向到脚本,但也可以传递参数

我的问题:

  • apache网站说你永远不应该使用.htaccess文件"一般来说,除非你没有访问主服务器配置文件的权限,否则你永远不应使用.htacccess文件。"。如果我使用的是GoDaddy这样的网络主机,我有权访问这个文件吗?还是这个服务器配置文件只用于VPS
  • 使用服务器配置文件执行此操作是否更好
  • 有没有一种更简单的方法可以做到这一点整个想法是存储论坛线程,这些线程占用的空间尽可能小,但搜索引擎仍然很容易索引(从而创建唯一的目录)
  • 我不需要在每个post目录中创建.htaccess文件吗?我可以在我的主.htaccess文件中写下,任何对帖子中文件/文件夹的请求都应该重定向到www.myForum.com/cgi-bin/loadWebpage.py吗?thread=他们访问的目录

也许代码看起来像这样?

Redirect /posts/* www.myForum.com/cgi-bin/loadWebpage.py?thread="HOW DO I SPECIFY THE FOLDER?"

如果我使用像GoDaddy这样的网络主机,我是否可以访问此文件,或者此服务器配置文件仅用于VPS?

Godaddy共享主机只允许.htaccess使用。

使用服务器配置文件执行此操作是否更好?

如果你可以访问服务器配置,但像Godaddy这样的共享主机不允许这样做,它的性能会更好

我不需要在每个post目录中创建.htaccess文件吗?我可以在我的主.htaccess文件中写下,任何对帖子中文件/文件夹的请求都应该重定向到www.myForum.com/cgi-bin/loadWebpage.py吗?thread=他们访问的目录?

你可以在你的站点的根目录中用一个.htaccess来完成它,内容如下

RewriteEngine on
RewriteBase /
RewriteRule ^posts/(.+)/$ /cgi-bin/loadWebpage.py?thread=$1 [NC,L]

最新更新