我做了几次尝试都没有成功。这就是我想要为“静态动态网址”所做的事情:
index.php?content=authors => /compositori/
index.php?content=albums => /dischi/
查询字符串变量值“authors”需要变为“compositori”,我已经尝试过,但没有:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^compositori/$ index.php?content=authors - [R=301,L]
</IfModule>
这适用于动态网址:
index.php?content=author&c=nome-compositore => /nome-compositore/
index.php?content=author&c=nome-compositore&action=view-bio => /nome-compositore/biografia/
index.php?content=author&c=nome-compositore&action=view-albums => /nome-compositore/dischi/
index.php?content=author&c=nome-compositore&action=view-album&a=nome-disco => /nome-compositore/nome-disco/
然后我想将此网址“index.php?content=index”重定向到主页,没有任何查询字符串参数,.com, index.php?content=index => www.mydomain.com
对于所有这些规则,我还需要使它们在 htaccess 位于此子文件夹中的子文件夹上工作,例如 mydomain.com/test/。尝试使用 RewriteBase 但没有:/
提前致谢
编辑:感谢大卫,现在我有了这些规则:
RewriteRule ^/?$ /subfolder/index.php?content=index [L]
RewriteRule ^contatti/$ /subfolder/index.php?content=contacts [L]
RewriteRule ^compositori/$ /subfolder/index.php?content=authors [L]
RewriteRule ^dischi/$ /subfolder/index.php?content=albums [L]
RewriteRule ^(.+)/biografia/$ /subfolder/index.php?content=author&c=$1&action=view-bio [L]
RewriteRule ^(.+)/dischi/$ /subfolder/index.php?content=author&c=$1&action=view-albums [L]
RewriteRule ^(.+)/(.+)/$ /subfolder/index.php?content=author&c=$1&action=view-album&a=$2 [L]
但我注意到,如果我在 url 中放入未重写的查询字符串 (index.php?content=authors),它会加载内容但保留非格式化的字符串,而不是重定向到重写的 url。我试图输入 [R=301,L] 但无事可做。这是我的最后一期。
再次感谢