Apache mod#u重写干净的URL';它不工作了

Apache mod#u重写干净的URL';它不工作了,apache,.htaccess,Apache,.htaccess,我看过apache服务器的每个问题和重写规则的每个示例。。。什么都没起作用 我只需要换衣服 到 我得看看它们是否都能正常工作 出于某种原因,我遇到的例子对我来说并不适用。下面是一些例子 RewriteEngine On RewriteRule /(.*)$ /profile.php?username=$1 , 及 但这些都不管用。这是因为我正在使用子域吗?我计划在完成网站后,最终将子域从BETA切换到www 有什么建议吗?试试这个: RewriteEngine On RewriteCond

我看过apache服务器的每个问题和重写规则的每个示例。。。什么都没起作用

我只需要换衣服 到

我得看看它们是否都能正常工作

出于某种原因,我遇到的例子对我来说并不适用。下面是一些例子

RewriteEngine On
RewriteRule /(.*)$ /profile.php?username=$1 
,

但这些都不管用。这是因为我正在使用子域吗?我计划在完成网站后,最终将子域从BETA切换到www

有什么建议吗?

试试这个:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)/?$ /profile.php?profile_name=$1 [L,QSA]
您的示例中有许多不同的查询字符串,因此我不确定哪一个是您真正想要的。您有
?用户名=
?档案ID=
?档案名称=
,您必须使用条件(RewriteCond),当满足条件时,应用规则(RewriteRule)。所以,当您不使用条件时,就不会使用规则,因为引擎不知道该使用什么

RewriteCond必须在RewriteRule之前使用,我以以下形式对web机器人程序使用它:

RewriteCond %{REMOTE_HOST} .googlebot.com$ [NC,OR]
RewriteCond %{REMOTE_HOST} .search.msn.com$ [NC,OR]
RewriteCond %{REMOTE_HOST} .kimsufi.com$ [NC]
RewriteRule ^.*$ /errors/404.html [F]

哦,对不起,我只是想让它使用profile_名称作为干净的url,所以从example.com/profile.php?profile_name=ntgCleaner到example.com/ntgCleaner,我们只是想用我要用的例子,这正是我需要的!我不认为请求文件名与任何事情有关。。。谢谢大家!@ntgCleaner这是一种避免无限循环的方法,因为如果URI指向现有资源(如profile.php),它不会重新重写。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)/?$ /profile.php?profile_name=$1 [L,QSA]
RewriteCond %{REMOTE_HOST} .googlebot.com$ [NC,OR]
RewriteCond %{REMOTE_HOST} .search.msn.com$ [NC,OR]
RewriteCond %{REMOTE_HOST} .kimsufi.com$ [NC]
RewriteRule ^.*$ /errors/404.html [F]