首先,我设置了重写规则,允许从网址中删除.html。
我还创建了一个php脚本,我希望为所有HTML页面提供服务。这样,我可以创建并链接到一个简单的html页面,但它将由我的php脚本处理。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ /folder/webpage.php?view=webpage_handler&file=$1.html [L]
所以不要链接到www.mysite.com/page.html,而是链接到www.mysite.com/page,这样我就可以通过webpage.php访问page.html
我还希望能够在其他一些情况下链接到page.html(不删除.html扩展名)并仍然让我的webpage.php处理页面视图。
我试过了:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ /folder/webpage.php?view=webpage_handler&file=$1.html [L]
RewriteRule ^(.*\.(html))$ /folder/webpage.php?view=webpage_handler&file=$1 [L]
但这并不像预期的那样有效。我不确定第二条规则是否有效,我相信它们彼此冲突......但我不知道如何修复它。
是否有一种安全的方式可以让我链接到“/page.html”和“/ page”并获得我的预期结果?
答案 0 :(得分:0)
经过更多的反复试验,我了解到我所拥有的实际上是正确的。出于某种原因,我的“视图”变量被删除,这导致我的脚本无法正常运行。
我的$ _GET ['view']变量在webpage.php中是空白的,但$ _GET ['file']变量设置得应该如此。
我改变了
view=webpage_handler
到
view=handle_webpage
就是这样。它现在工作正常。显然这是我所做的,但我不知道是什么。