2012-12-01 92 views
1

我将签约企业在我的网站做广告,我希望他们有一个直接的网址供他们的客户去。如何创建一个包含单个文件的目录?

一样,而不是www.website.com/page.php?id=324234234

我想有www.website.com/businessname

有没有一种简单的方法来做到这一点?我搜索并看到了人们试图做的大量不同的事情,但我没有看到任何与我想要做的事情相同的事情。

我正在使用VPS,并且要确保我不打开权限,以便任何人都可以进入并解决问题。

此外,这些用户不会自行签名。我会这样做。

获得最终结果的最简单方法就是我要找的。谢谢!

+0

假设你使用Apache这是你想要什么:http://stackoverflow.com/questions/3033407/htacces-to-create-friendly-urls-help-needed?rq=1 –

回答

2

重新迭代什么jtheman多一点的解释说:

创建一个名为的.htaccess文件与内容:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ page.php?businessname=$1 [L] 

你需要,当然,必须激活目录级别的.htaccess的能力 - 你正在使用VPS所以你应该能够做到这一点,如果是尚未启用。

那么让我解释一下每一行的功能。

RewriteEngine on 

打开到URL的能力重新编写

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

告知Apache不重新直接存在于该目录已经

RewriteRule ^(.*)$ page.php?businessname=$1 [L] 

这就是魔法发生之地的文件。

^(.*)$这部分就像一个正则表达式匹配。它会告诉Apache来收集有其中的任何字符的任意网址,并重定向他们page.php文件BUSINESSNAME =

所以,如果你的帖子?(*): www.website.com/stackover

它真的会被发送: www.website.com/page.php?businessname=stackover

然后您可以使用$_GET[businessname]来动态更新页面。

希望这会有所帮助!

+0

感谢您的澄清...没有必要详细说明我的答案,然后... +1 – jtheman

+0

这非常有帮助!感谢你们俩! @jtheman –

5

基本的URL重写可以工作。

添加到您的.htaccess文件

RewriteEngine on 
RewriteRule ^(.*)$ page.php?businessname=$1 [L] 

然后使用PHP的BUSINESSNAME改写为公司的ID /查找数据。

过程中的.htaccess重写规则的是一个完整的科学,如果你需要更复杂的重写......

+0

...假设运算的使用阿帕奇当然 – Madbreaks

+0

@Madbreaks没有多少VPS'es那里没有Apache ...但当然,所有可能存在... – jtheman

+0

谷歌:_windows vps_ :)但是,你有我的+1无论如何 – Madbreaks

相关问题