Php Apache 2.2 mod_重写帮助

Php Apache 2.2 mod_重写帮助,php,apache,mod-rewrite,clean-urls,Php,Apache,Mod Rewrite,Clean Urls,我试图让Apache2.2 mod_重写以获得干净的URL。 我有如下链接 <ul> <li><a href="index.php?view=pageName">Page Name</a></li> <li><a href="index.php?view=pageName2">Page Name2</a></li> <li><a href="index.php?view=

我试图让Apache2.2 mod_重写以获得干净的URL。 我有如下链接

<ul>
<li><a href="index.php?view=pageName">Page Name</a></li>
<li><a href="index.php?view=pageName2">Page Name2</a></li>
<li><a href="index.php?view=pageName3">Page Name3</a></li>
</ul>
我想清理地址栏中的url并将其添加到此

http://example.com/user/pageName
编辑:这是我的httpd.conf中的内容,如果有任何用处的话。

<Directory "C:/Apache2.2/htdocs/user">
    Options Indexes FollowSymLinks
    AllowOverride all
    order allow,deny
    Allow from all
</Directory>
编辑:我的.htaccess的其余部分

#Ensure browser reads Header
Header unset ETag
FileETag None
Header unset Last-Modified

#Set caching expires
Header set Expires On
ExpiresDefault "access plus 30 days"

#gzip
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>

我像预期的那样被发送到谷歌。所以很明显,我在匹配和替换方面肯定做错了什么,但我做错了什么? 提前谢谢

编辑: access.log和error.log没有错误

RewriteRule ^/user/([a-zA-Z])?$ index.php?view=$1  [NC,L] 
尝试此…(删除一条斜线)

尝试此…(删除一条斜线)

您缺少+所以您没有匹配单词,只有一个字符


您缺少+所以您没有匹配单词,只有一个字符

已修复:必须更改HTML URL样式才能这样使用

<a href="pageName">Page Name</a>

还必须从apache的httpd.conf中禁用mod_cache.so,因为如果有任何缓存留下,它会干扰重写。希望这有助于其他人使用干净的URL。

修复:必须更改HTML URL样式才能正常使用

<a href="pageName">Page Name</a>

还必须从apache的httpd.conf中禁用mod_cache.so,因为如果有任何缓存留下,它会干扰重写。希望这有助于其他人使用干净的URL。

不起作用。奇怪的是,我有几个ul列表,最后一个li链接默认指向每个ul,而其余的则指向我。这真的很奇怪不?在.htaccess中这个规则之前或之后还有其他规则吗?是的,但我认为这不会影响mod重写。我将编辑并发布我的整个小htaccess。我尝试在我的服务器上删除[NC,L],它在这里工作。发布你的.htaccess以获得更多帮助。我确实发布了编辑并发布了它。这就是我的整个.htaccess,我没有根.htaccess文件。移除[NC,L]对我来说没有任何作用。没有错误,并允许我重定向到其他网站,但实际上不清理我的url。不工作。奇怪的是,我有几个ul列表,最后一个li链接默认指向每个ul,而其余的则指向我。这真的很奇怪不?在.htaccess中这个规则之前或之后还有其他规则吗?是的,但我认为这不会影响mod重写。我将编辑并发布我的整个小htaccess。我尝试在我的服务器上删除[NC,L],它在这里工作。发布你的.htaccess以获得更多帮助。我确实发布了编辑并发布了它。这就是我的整个.htaccess,我没有根.htaccess文件。移除[NC,L]对我来说没有任何作用。没有错误,并允许我重定向到其他站点,但实际上不清理我的url。@robx抱歉,我以前用++检查我的规则,但在发布时我用了你的规则,那一次我忘记了“+”…我也用plus尝试过,在这里没有改变任何东西。没有干净的url,但我可以使用R=301类型,当基本url/用户被点击时重定向到其他域,如google。可能是其他原因造成的,但我不知道这可能是什么,因为我可以重定向到其他域。这可能是我的url在php中的结构吗?@robx抱歉,我以前用++检查我的规则,但在发布时我用了你的规则,那一次我忘记了“+”…我也用加号尝试过,在这里没有改变任何东西。没有干净的url,但我可以使用R=301类型,当基本url/用户被点击时重定向到其他域,如google。可能是其他原因造成的,但我不知道这可能是什么,因为我可以重定向到其他域。这可能是我的url在php中的结构吗?
RewriteRule ^index\.php$ http://www.google.com  [NC,L]
RewriteRule ^/user/([a-zA-Z])?$ index.php?view=$1  [NC,L] 
RewriteRule ^/user/([a-zA-Z]+)?$ index.php?view=$1  [NC,L]
<a href="pageName">Page Name</a>
RewriteEngine On
RewriteOptions Inherit
ReWriteBase /user/
RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?view=$1 [QSA,L]