-1

我正在尝试根据最初动态生成的文件包含的主题,使用我的 htaccess 文件将各种特定的已知动态 URL 重定向到我选择的各种“不存在”目录。以下是我的最新尝试(仍然无法正常工作)。

Options +FollowSymLinks  
RewriteEngine On  
RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  
RewriteCond %{QUERY_STRING} ^ID=([8][3])$

RewriteRule ^comedy-routines/television/just-plane-silly\.html$ /show_rss_item.php?%1 

我想做什么:

我有两个目标:

1) 当有人键入“show_rss_item.php?ID=83”时,他们应该会看到他们的 URL 栏读出:comedy-routines/television/just-plane-silly.html

2) 当有人输入comedy-routines/television/just-plane-silly.html

他们应该看到由 show_rss_item.php?ID=83 创建的“幕后”内容

我在网上找到了很多关于在重写规则中使用变量的信息,但请注意,这不是我在这里所做的,尽管原始内容是动态生成的。就我而言,我只是想为我的数据库中的每篇文章硬编码一种“一次性”重写规则,这样我就可以在我的 htaccess 文件中分配一个适当的虚拟人类可读目录位置,而不是让网站访问者在浏览器地址栏中看到动态 URL。

在我的例子中,这些动态 URL 始终采用以下形式:show_rss_item.php?ID=article_number_here。

几周以来,我一直在尝试这样做。事实上,我刚刚输给了一位 Guru “专业人士” 50 美元,经过一个多小时的交谈后,他发现对这个主题的了解比我还少,最后建议我尝试 JavaScript。

4

1 回答 1

1

你在这里有两条规则,重定向show_rss_item.php?ID=83.../just-plane-silly.html

RewriteCond %{QUERY_STRING} ^ID=83$
RewriteRule ^/?show_rss_item.php$ /comedy-routines/television/just-plane-silly.html [R,L]

并显示真实内容,如果您收到请求.../just-plane-silly.html

RewriteRule ^/?comedy-routines/television/just-plane-silly\.html$ /show_rss_item.php?ID=83 [L]
于 2013-03-01T19:43:44.220 回答