了解.htaccess文件并使其正常工作时遇到一些问题。 .htaccess被识别....我在顶部进入普通测试并得到内部服务器错误。并且看起来mod-rewrite正在工作......因为我下载了一个测试php文件并且它可以工作。
我正在使用没有php页面的Apache 2.4.23
然而我似乎无法使其正常工作。
我正在尝试使用此网址
http://example.com/ProjectTest/index.shtml?dynContent=Content1
并像这样重写
http://example.com/ProjectTest/Content1
我也试图在整个网站上做到这一点?dynContent =无论什么都是常数.....并试图保持相同的路径......如下例所示
更改此
http://example.com/ProjectTest/ProjectFolder/index.shtml?dynContent=Content1
到这个
http://example.com/ProjectTest/ProjectFolder/Content1
我对.htaccess文件不太满意
更新:好的......我让这个工作.....不确定它为什么会起作用....但是当我输入test-dev / ProjectTest / apples或者test-dev / ProjectTest / oranges调用适当的内容。
这是我用的
RewriteRule ^ProjectTest/([^/\.]+)/?$ ProjectTest/index.shtml?dynContent=$1 [L]
然后我把它改写成这个,现在它适用于任何目录
RewriteRule ^(.*)/([^/\.]+)/?$ $1/index.shtml?dynContent=$2 [L]
答案 0 :(得分:0)
试试这个:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^dynContent=(.+)$
RewriteRule ^/(.+)+/index.shtml $1/%1 [PT]
这需要激活mod_rewrite
。 dynContent=(.+)
中括号的值存储在%1
中,^/(.+)+/index.shtml
中的括号值存储在$1
中。两者一起创建目标路径http://example.com/ProjectTest/ProjectFolder/Content1