我在我的网站上使用以下htaccess代码:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([^/.]+)?/?([^/.]+)?/?$ switch.php?one=$1&two=$2 [L]
switch.php 有一段代码可以帮助我的词典网站呈现漂亮的地址。
假设点击字典中的单词 XXX ,则地址将为: 的 example.com/XXX
(全部通过对字典中的所有单词使用相同的“page.php”文件。
另一个例子,用户可以写地址example.com/YYY,他将被定向到YYY页面,该页面将使用“page.php”文件,并在地址栏中显示为“example.com/YYY”
我的问题是,我想从我的所有网页中删除www,但仍然使用我的代码。 所以任何www.example.com/XXX都是example.com/XXX
我尝试了很多方法来做到这一点,但所有剥离www代码的方法与我的代码不兼容。 (我需要switch.php继续工作,因为我不想更改我的网站地址,只是从页面中删除www)
我感谢任何可以帮助我解决问题的人。我不介意直接使用301,只要switch.php仍然有效。
谢谢!
答案 0 :(得分:0)
This might be what you're looking for。或者它至少接近。这个例子去掉了http://,www和url末尾的斜杠,所以你可以调整它,如果它不适合你。它会做这样的事情
输入 - > http://www.google.com/ |输出 - > google.com
$input = 'www.google.co.uk/';
// in case scheme relative URI is passed, e.g., //www.google.com/
$input = trim($input, '/');
// If scheme not included, prepend it
if (!preg_match('#^http(s)?://#', $input)) {
$input = 'http://' . $input;
}
$urlParts = parse_url($input);
// remove www
$domain = preg_replace('/^www\./', '', $urlParts['host']);
echo $domain;
// output: google.co.uk