3

假设我有 5 页(index.php, about.php, portfolio.php, gallery.php, contact.php)。

假设 id 是1.

原始网址是:

www.domain.com/folder/index.php?id=1www.domain.com/folder/about.php?id=1 等等……

现在,我想将其更改为:

1.domain.com/index, 1.domain.com/about, 1.domain.com/portfolio, 1.domain.com/gallery, 1.domain.com/contact

mod-rewrite 可以吗?如果我在index.php页面中,如果 mod-rewrite 是可能的<a href="" >,那会发生什么?about.php

非常感谢:DI 感谢您的帮助:D

编辑

还有一件事,我的通配符子域文件夹是public_html/folder/

Anubhava的解决方案

用子域代码编辑:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

# EDIT BY ANUBHAVA: to make http://1.domain.com/ load /about as default page
# Replace /about with any other page you want as default page
RewriteCond %{HTTP_HOST} ^1\.(domain\.com$ [NC]
RewriteRule ^$ /about [L]

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).domain.com$ [NC]
RewriteRule ^(index|about|portfolio|gallery|contact)/?$ /$1.php?id=%2 [L,NC,QSA]

确保您的通配符子域目录是页面所在的位置。还将您的 .htaccess 文件放在页面所在的目录中。

4

2 回答 2

1

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# EDIT: to make http://1.domain.com/ load /about
RewriteCond %{HTTP_HOST} ^1\.(domain\.com$ [NC]
RewriteRule ^$ /about [L]

RewriteCond %{HTTP_HOST} ^1\.(domain\.com$ [NC]
RewriteRule ^(index|about|portfolio|gallery|contact)/?$ http://www.%1/folder/$1.php?id=1 [R=302,L,NC,QSA]

一旦到位,请创建如下所示的 href 链接:

<a href="http://1.domain.com/about">About Us</a>或者<a href="http://1.domain.com/contact">Contact Us</a>

于 2013-02-14T09:13:16.873 回答
0

您需要更改 .htaccess 文件。编写下面的代码,它将隐藏文件的扩展名。

   Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^([a-zA-Z])\$ $1.php [NC]

之后,您将在锚链接中提供 URL,例如 /index 等。

干杯。

于 2013-02-14T09:15:47.883 回答