嘿,我整天都在努力解决这个问题,而且我是新手来清理网址。
我想改变的域名:
http://www.domain.tld/ausflug.php?lang=de
为:
http://www.domain.tld/ausflug/lang/de/
通过.htaccess。这是我的代码:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ausflug/lang/(.*)/ ausflug.php?lang=$1
我的问题是:
感谢您的帮助!
答案 0 :(得分:1)
首先,用这个替换你当前的代码(你的htaccess应该在根文件夹中)
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/ausflug\.php\?lang=([a-z]{2}) [NC]
RewriteRule . /ausflug/lang/%1/? [R=301,L]
RewriteRule ^ausflug/lang/([a-z]{2})/$ /ausflug.php?lang=$1 [L]
这会将domain.tld/ausflug.php?lang=de
重定向到domain.tld/ausflug/lang/de/
,并在内部将其重写(没有任何重定向循环错误)到domain.tld/ausflug.php?lang=de
。
对于你的第二个问题:
如果我想使用干净的网址访问该网页,则不会显示所有内容 css和js的东西
只需为您的链接使用绝对路径(使用前导斜杠)。
示例:/css/file.css
而不是css/file.css
(否则它将查找错误的目录,因为您的规则正在生成一些虚拟目录)
或者您可以在<base href="/">
之后的所有页面中添加此html标记<head>
(而不是替换每个链接)